Go Tipos Básicos

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)

go  golang