DMarlon Studio

Lección 2 · 2 de 20

Variables y tipos · Go

Guarde datos en variables de Go con var y :=, conozca los tipos básicos (int, float64, string y bool) y el valor cero de cada uno.

Go · Variables y tipos en DMarlon Studio: el código del ejemplo y su salida en la terminal

Una variable es un nombre para un dato. Con var se declara indicando su tipo: var city string = "Valencia" crea un texto y var population int = 800000, un número entero. En Go el tipo va detrás del nombre.

La forma corta := declara la variable y deduce el tipo a partir del valor: temperature := 21.5 es un float64 (un número con decimales) e isCoastal := true es un bool (verdadero o falso). Solo se puede usar dentro de una función, y es la forma más habitual.

Si una variable se declara sin valor, Go le da su valor cero: 0 para los números, "" (texto vacío) para string y false para bool. Por eso visitors vale 0 y note sale vacía entre los corchetes.

%T dentro de fmt.Printf escribe el tipo de cada valor; en la lección 4 verá el resto de estos verbos. Al final, = (sin los dos puntos) da un valor nuevo a una variable que ya existe, siempre del mismo tipo, y visitors += 1500 le suma 1500.

Go no permite declarar una variable y no usarla: el programa no compilaría. Es una de las reglas con las que el lenguaje mantiene el código limpio.

Código · main.go

package mainimport "fmt"func main() {	// var declares a variable with its type.	var city string = "Valencia"	var population int = 800000	// := declares it and takes the type from the value.	temperature := 21.5	isCoastal := true	// Without a value, a variable starts at its zero value.	var visitors int	var note string	fmt.Println("City:", city)	fmt.Println("Population:", population)	fmt.Println("Temperature:", temperature)	fmt.Println("Coastal:", isCoastal)	fmt.Println("Visitors:", visitors, "Note: ["+note+"]")	// %T prints the type of each value.	fmt.Printf("Types: %T %T %T %T\n", city, population, temperature, isCoastal)	// = gives a new value of the same type.	population = 810000	visitors += 1500	fmt.Println("Now:", population, "people and", visitors, "visitors")}

Salida · go run main.go

City: Valencia
Population: 800000
Temperature: 21.5
Coastal: true
Visitors: 0 Note: []
Types: string int float64 bool
Now: 810000 people and 1500 visitors

Para recordar

  • var nombre tipo = valor declara con el tipo a la vista.
  • nombre := valor declara y deduce el tipo.
  • Tipos básicos: int, float64, string y bool.
  • Sin valor, cada variable empieza en su valor cero.
  • := crea la variable; = cambia su valor.

Ejercicio

Añada country := "Spain" y area := 134.6 (la superficie en km²), escríbalos con Println y compruebe con %T qué tipo ha deducido Go para cada uno.