Ir - Operadores de asignación

La siguiente tabla enumera todos los operadores de asignación admitidos por el idioma Go:

Operador Descripción Ejemplo
= Operador de asignación simple, asigna valores de los operandos del lado derecho al operando del lado izquierdo C = A + B asignará el valor de A + B en C
+ = Agregar operador de asignación Y, agrega el operando derecho al operando izquierdo y asigna el resultado al operando izquierdo C + = A es equivalente a C = C + A
- = Restar operador de asignación Y, resta el operando derecho del operando izquierdo y asigna el resultado al operando izquierdo C - = A es equivalente a C = C - A
* = Multiplica el operador de asignación AND, multiplica el operando derecho con el operando izquierdo y asigna el resultado al operando izquierdo C * = A es equivalente a C = C * A
/ = Operador de división Y asignación, divide el operando izquierdo con el operando derecho y asigna el resultado al operando izquierdo C / = A es equivalente a C = C / A
% = Operador de asignación de módulo Y, toma el módulo usando dos operandos y asigna el resultado al operando izquierdo C% = A es equivalente a C = C% A
<< = Operador de desplazamiento Y asignación a la izquierda C << = 2 es lo mismo que C = C << 2
>> = Operador de desplazamiento Y asignación a la derecha C >> = 2 es lo mismo que C = C >> 2
& = Operador de asignación AND bit a bit C & = 2 es lo mismo que C = C & 2
^ = Operador de asignación y OR exclusivo bit a bit C ^ = 2 es lo mismo que C = C ^ 2
| = OR inclusivo bit a bit y operador de asignación C | = 2 es lo mismo que C = C | 2

Ejemplo

Pruebe el siguiente ejemplo para comprender todos los operadores de asignación disponibles en el lenguaje de programación Go:

package main

import "fmt"

func main() {
   var a int = 21
   var c int

   c =  a
   fmt.Printf("Line 1 - =  Operator Example, Value of c = %d\n", c )

   c +=  a
   fmt.Printf("Line 2 - += Operator Example, Value of c = %d\n", c )

   c -=  a
   fmt.Printf("Line 3 - -= Operator Example, Value of c = %d\n", c )

   c *=  a
   fmt.Printf("Line 4 - *= Operator Example, Value of c = %d\n", c )

   c /=  a
   fmt.Printf("Line 5 - /= Operator Example, Value of c = %d\n", c )

   c  = 200; 

   c <<=  2
   fmt.Printf("Line 6 - <<= Operator Example, Value of c = %d\n", c )

   c >>=  2
   fmt.Printf("Line 7 - >>= Operator Example, Value of c = %d\n", c )

   c &=  2
   fmt.Printf("Line 8 - &= Operator Example, Value of c = %d\n", c )

   c ^=  2
   fmt.Printf("Line 9 - ^= Operator Example, Value of c = %d\n", c )

   c |=  2
   fmt.Printf("Line 10 - |= Operator Example, Value of c = %d\n", c )
}

Cuando compila y ejecuta el programa anterior, produce el siguiente resultado:

Line 1 - =  Operator Example, Value of c = 21
Line 2 - += Operator Example, Value of c = 42
Line 3 - -= Operator Example, Value of c = 21
Line 4 - *= Operator Example, Value of c = 441
Line 5 - /= Operator Example, Value of c = 21
Line 6 - <<= Operator Example, Value of c = 800
Line 7 - >>= Operator Example, Value of c = 200
Line 8 - &= Operator Example, Value of c = 0
Line 9 - ^= Operator Example, Value of c = 2
Line 10 - |= Operator Example, Value of c = 2