Operador := y múltiples variables

Una alternativa para declarar variables en Go es utilizar el operador :=. Con este operador, podemos hacer rápidamente la declaración y asignación inicial de una variable en Go, sin tener que indicar el tipo de datos, que se inferirá automáticamente a partir del valor que pongamos a la derecha del mismo. A tener en cuenta que, debido a que este operador no requiere especificar el tipo de datos, es obligatorio darle un valor inicial, ya que Go exige que las variables estén asociadas a un tipo, incluso cuando ese tipo no se lo damos de forma explícita.

En cualquier caso, la forma de usar el operador de declaración simplificada (o short variable declaration) es la que vemos en los siguientes ejemplos:

i := 0
saludo := "Buenos días"

En estos casos, el código es equivalente a utilizar la palabra clave var, dando o no un tipo de datos:

var i int64 = 0
var saludo = "Buenos días"

Bastante sencillo. Esas variables luego pueden cambiar de valor, por supuesto.

i := 0
i = 4

Por otro lado, en Go es posible trabajar de golpe con varias variables de forma grupal, fabricando lo que se conoce como una tupla. Las tuplas son expresiones multivalor, donde tenemos múltiples expresiones separadas por comas. Por ejemplo, lo siguiente es una tupla de tres números:

3, 4, 5

La especialidad de las tuplas es que nos permite hacer lo que se conoce como una asignación de tupla, donde mediante el operador := podemos declarar y asignar varias variables de forma simultánea si ponemos varios identificadores de forma simultánea dándole varios valores, si los ponemos todos separados por comas a la derecha del operador. Por ejemplo, en el siguiente caso estaremos declarando tres variables a, b y c, dándole respectivos valores:

a, b, c := 1, 2, 4

Cuando se hace una asignación de tuplas, el identificador en la posición i en la lista de la izquierda es declarado y se le asigna el valor inicial de la expresión i de la derecha. Es decir, que la primera variable recibe la primera expresión; la segunda variable recibe la segunda expresión, y así con todo. De modo que ese código sería el equivalente a poner lo siguiente:

a := 1
b := 2
c := 4

A tener en cuenta que no es necesario que los tipos de datos de cada una de las expresiones de una tupla sean iguales. Es decir, podemos declarar varias variables con diferentes tipos de datos:

nombre, edad := "Patricia", 24

Si bien, una vez declarada la variable sólo se podrá reasignar cada una con algún nuevo valor del mismo tipo:

nombre, edad := "Patricia", 24
edad = edad + 1
Lista de reproducción
  1. 1
    Instalar Go
    5 minutos
  2. 2
    Configurar Go en Windows a mano
    4 minutos
  3. 3
    Configurar Go en Linux y MacOS a mano
    5 minutos
  4. 4
    Escribir el Hola Mundo
    11 minutos
  5. 5
    Variables con var
    10 minutos
  6. 6
    Los tipos de datos en Go
    9 minutos
  7. 7
    Variables tipadas e inferencia de tipos
    8 minutos
  8. 8
    Operador := y múltiples variables
    7 minutos
  9. 9
    Constantes
    4 minutos
  10. 10
    Funciones básicas
    6 minutos
  11. 11
    Paso de parámetros a funciones
    7 minutos
  12. 12
    Retorno de funciones
    5 minutos
  13. 13
    Operadores aritméticos
    6 minutos