Go Academy · Lección

Tipos integrados de Go

int, float64, string, bool y sus valores cero

Lección 2 de 413 pasos

Tipos integrados de Go es una lección gratuita de Go Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Go Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Go Academy incluye 4 lecciones en total.

Descripción general del sistema de tipos de Go

Go cuenta con un amplio conjunto de tipos integrados organizados en categorías:

  • Booleano: bool
  • Entero: int, int8, int16, int32, int64 y sus variantes sin signo
  • Coma flotante: float32, float64
  • Cadena: string
  • Complejo: complex64, complex128

Tipos enteros

Go proporciona tipos enteros dependientes de la plataforma y de tamaño fijo:

  • int / uint: tamaño de la plataforma (32 o 64 bits)
  • int8…int64: anchos de bits fijos
  • byte: alias de uint8
  • rune: alias de int32 que representa un punto de código Unicode

Use int para enteros de propósito general, a menos que necesite un ancho específico.

float64 y float32

Los tipos de coma flotante siguen IEEE 754:

package main

func main() {
    var f32 float32 = 3.14
    var f64 float64 = 3.141592653589793
    ratio := f64 / 2.0  // float64 inferred
    _ = f32
    _ = ratio
}

Tipo string

Las cadenas de Go son secuencias inmutables de bytes codificadas en UTF-8:

  • Entre comillas dobles: "Hello"; admiten secuencias de escape
  • Entre comillas invertidas: `raw string`; no procesan escapes y pueden abarcar varias líneas
  • len(s) devuelve el número de bytes, no de caracteres
  • Recorra los caracteres con range para obtener runas

Tipo bool

El tipo bool tiene dos valores: true y false.

  • El valor cero es false
  • Operadores lógicos: &&, ||, !
  • Los operadores de comparación devuelven bool: ==, !=, <, >
  • Go no convierte implícitamente enteros a bool (a diferencia de C)

Resumen de los valores cero

Cada tipo tiene un valor cero bien definido:

  • int, todos los tipos numéricos → 0
  • float64 → 0.0
  • string → ""
  • bool → false
  • *T, slice, map, chan, func → nil

Los valores cero hacen que el código Go sea seguro: nunca se lee memoria basura.

Literales numéricos

Go admite varios formatos de literales numéricos:

package main

func main() {
    dec  := 1_000_000   // digit separators
    hex  := 0xFF
    oct  := 0o777
    bin  := 0b1010
    sci  := 1.5e3       // 1500.0
    _ = dec; _ = hex; _ = oct; _ = bin; _ = sci
}

Tamaños y rangos de los tipos

Conocer los tamaños de los tipos evita errores de desbordamiento:

  • int8: -128 a 127
  • uint8: 0 a 255
  • int16: -32768 a 32767
  • int32: aproximadamente ±2,1 mil millones
  • int64: aproximadamente ±9,2 trillones

Use math.MaxInt64 y constantes similares del paquete math para obtener límites exactos.

rune y byte

rune y byte son alias de tipos con significado semántico:

  • byte = uint8: se usa para datos binarios sin procesar o datos ASCII
  • rune = int32: se usa para puntos de código Unicode

Cuando recorre una cadena con range, Go le proporciona valores rune, perfectos para trabajar con caracteres UTF-8 de varios bytes, como los emojis.

Cómo elegir el tipo adecuado

Directrices para elegir tipos numéricos:

  • Use int de forma predeterminada para contadores e índices
  • Use float64 para cálculos generales con coma flotante
  • Use int64 / uint64 para identificadores, marcas de tiempo y recuentos grandes
  • Use int32 solo al trabajar con API que lo requieran
  • Evite float32 a menos que trabaje con gráficos o datos cuyo espacio sea limitado

Comprobación rápida

¿Cuál es el valor cero de una variable string en Go?

Repaso: tipos integrados

Los tipos integrados de Go le proporcionan una base sólida:

  • Familia de enteros: int, int64, byte, rune
  • Coma flotante: prefiera float64
  • string son bytes UTF-8 inmutables
  • bool con true/false
  • Cada tipo tiene un valor cero: no hay sorpresas

Siguiente: las constantes y el potente enumerador iota.

Ejercicio práctico

Experimente: declare una variable rune que contenga la letra 'A' y una variable byte que contenga 65. Imprima ambas; deberían producir el mismo valor numérico. Después, intente recorrer una cadena corta de emojis para observar los valores rune en acción.

Gratis para empezar

Aprende Go con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
51
Lecciones
203

Preguntas frecuentes

¿La lección «Tipos integrados de Go» es gratis?

Sí — el texto completo de «Tipos integrados de Go» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Go Academy, actualiza a CoddyKit PRO. El curso de Go Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Tipos integrados de Go»?

int, float64, string, bool y sus valores cero Practicas Go Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Go Academy?

No se requiere experiencia previa. Go Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Tipos integrados de Go»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Go Academy?

Sí. Cada lección de Go Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Declaración de variables en Go
  2. Tipos integrados de Go
  3. Constantes e iota
  4. Conversiones de tipos en Go
← Volver a Go Academy