Go - Operatori di assegnazione

La tabella seguente elenca tutti gli operatori di assegnazione supportati dalla lingua Go:

Operatore Descrizione Esempio
= Operatore di assegnazione semplice, Assegna i valori dagli operandi del lato destro all'operando del lato sinistro C = A + B assegnerà il valore di A + B a C
+ = Aggiungi operatore di assegnazione AND, aggiunge l'operando destro all'operando sinistro e assegna il risultato all'operando sinistro C + = A è equivalente a C = C + A
- = Sottrai AND operatore di assegnazione, sottrae l'operando destro dall'operando sinistro e assegna il risultato all'operando sinistro C - = A è equivalente a C = C - A
* = Moltiplica l'operatore di assegnazione AND, moltiplica l'operando destro con l'operando sinistro e assegna il risultato all'operando sinistro C * = A è equivalente a C = C * A
/ = Divide AND operatore di assegnazione, divide l'operando sinistro con l'operando destro e assegna il risultato all'operando sinistro C / = A è equivalente a C = C / A
% = Modulo AND operatore di assegnazione, richiede il modulo utilizzando due operandi e assegna il risultato all'operando sinistro C% = A è equivalente a C = C% A
<< = Shift sinistro AND operatore di assegnazione C << = 2 è uguale a C = C << 2
>> = Spostamento a destra e operatore di assegnazione C >> = 2 è uguale a C = C >> 2
& = Operatore di assegnazione AND bit per bit C & = 2 è uguale a C = C & 2
^ = OR esclusivo bit per bit e operatore di assegnazione C ^ = 2 è uguale a C = C ^ 2
| = OR bit per bit inclusivo e operatore di assegnazione C | = 2 è uguale a C = C | 2

Esempio

Prova il seguente esempio per comprendere tutti gli operatori di assegnazione disponibili nel linguaggio di programmazione 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 )
}

Quando compili ed esegui il programma sopra, produce il seguente risultato:

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