Go Tipos Básicos

By | 12/29/2017

Go Types – Go Tipos básicos

¿Cuáles son los tipos básicos definidos en Go?

Go define diferentes tipos básicos entre los que puedes encontrar booleanos, string, numéricos enteros (con signo o sin signo), flotantes (números reales) y números complejos.

Este recuadro te muestra los tipos básicos definidos en Go

Tipo booleano:
bool

Tipo string:
string


Enteros con signo:
int         32-bit y 64-bit según el sistema
int8        8-bit (-128 to 127)
int16       16-bit (-32768 to 32767)
int32       32-bit (-2147483648 to 2147483647)
int64       64-bit (-9223372036854775808 to 9223372036854775807)

Enteros sin signo:
uint        32-bit y 64-bit según el sistema
uint8       8-bit (0 to 255)
uint16      16-bit (0 to 65535)
uint32      32-bit (0 to 4294967295)
uint64      64-bit integers (0 to 18446744073709551615)
uintptr    

Flotantes:
float32     32-bit 
float64     64-bit 

Complejos:
complex64   the set of all complex numbers with float32 real and imaginary parts
complex128  the set of all complex numbers with float64 real and imaginary parts

byte // alias for uint8
rune // alias for int32 represents a Unicode code point

Los tipos int, uint y uintptr suelen tener 32 bits de ancho en sistemas de 32 bits y 64 bits de ancho en sistemas de 64 bits.
En general cuando necesites usar un entero utiliza siempre int a menos que tengas un motivo específico para usar enteros de tamaño definido o sin signo.

package main

import (
	"fmt"
	"math"
)

func main() {

	// Boolean
	var b bool = true
	if (b) {
		fmt.Println("is true")
	}

	// String
	var a string = "Hello World"
	fmt.Println(a)

	// Integer number
	var i int = 100
	fmt.Println(i + 99)

	// Float number
	var f float64 = 1.343435345563459
	fmt.Println(f)

	var fmax = math.MaxFloat64
	fmt.Println(fmax)

	// Complex number
	var c complex64 = 1.04i
	fmt.Println(c)

}

El resultado de este ejemplo

$ go run basictypes.go
is true
Hello World
199
1.343435345563459
1.7976931348623157e+308
(0+1.04i)

Compartir esto:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *