Come usare gli operatori in Golang

Gli operatori sono il fondamento di ogni linguaggio di programmazione. Pertanto, la funzionalità del linguaggio Golang è incompleta senza l'uso degli operatori. Gli operatori consentono di eseguire diversi tipi di operazioni sugli operandi. Nel linguaggio Go, gli operatori possono essere classificati in base alle loro diverse funzioni .

Come usare gli operatori in Golang

operatori aritmetici

Questi operatori vengono utilizzati per eseguire operazioni sugli operandi nel linguaggio Go:

  • Addizione: '+' aggiunge due operandi. Ad esempio: x+y.
  • Sottrazione: '-' sottrae due operandi. Esempio: xy.
  • Moltiplicazione: '*' moltiplica due operandi. Ad esempio: x*y.
  • Divisione: '/' divide il primo operando per il secondo operando. Ad esempio: x/y.
  • Resto: l'operatore '%' restituisce il resto quando il primo operando viene diviso per il secondo operando. Ad esempio: x%y.

 Nota: -, +, !, &, *, <- e ^ sono anche chiamati operatori unari e la precedenza degli operatori unari è più alta. Gli operatori ++ e — provengono da istruzioni, non sono espressioni, quindi sono esterni alla gerarchia degli operatori.

Per esempio:

//Minh họa chương trình Go dùng toán tử số học
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// Phép cộng
result1:= p + q 
fmt.Printf("Result of p + q = %d", result1) 
	
// Phép trừ
result2:= p - q 
fmt.Printf("\nResult of p - q = %d", result2) 
	
// Phép nhân
result3:= p * q 
fmt.Printf("\nResult of p * q = %d", result3) 
	
// Division 
result4:= p / q 
fmt.Printf("\nResult of p / q = %d", result4) 
	
// Modulus 
result5:= p % q 
fmt.Printf("\nResult of p %% q = %d", result5) 
} 

Risultato:

Kết quả của p + q = 54
Kết quả của p - q = 14
Kết quả của p * q = 680
Kết quả của p / q = 1
Kết quả của p % q = 14

Operatori relazionali

Gli operatori relazionali vengono utilizzati per confrontare due valori. Diamo un'occhiata a ciascun operatore uno per uno:

  • L'operatore '=='(Uguale) controlla se i due operandi dati sono uguali o meno. Se è uguale, restituisce true. In caso contrario, restituisce falso. Ad esempio, 5==5 restituirà true.
  • L'operatore '!='(Diverso da) controlla se i due operandi dati sono uguali o meno. Altrimenti restituisce true. In caso contrario, restituisce falso. Questo è il complemento booleano esatto dell'operatore '=='. Ad esempio, 5!=5 restituirà falso.
  • L'operatore '>' (Maggiore di) controlla se il primo operando è maggiore del secondo operando. Se è maggiore, restituisce true. Se è inferiore, restituisce falso. Ad esempio, 6>5 restituirà true.
  • L'operatore '<' (minore di) controlla se il primo operando è minore del secondo operando. Se è inferiore, restituisce true. In caso contrario, restituisce falso. Ad esempio, <5 restituirà
  • L'operatore '>='(Maggiore di uguale) controlla se il primo operando è maggiore o uguale al secondo operando. Se maggiore o uguale, restituisce true. Se minore o uguale, restituisce falso. Ad esempio: 5>=5 restituirà true.
  • L'operatore '<=' (minore o uguale a) controlla se il primo operando è minore o uguale al secondo operando. Se è maggiore o uguale, restituisce true. Se è minore o uguale, restituisce falso. Ad esempio: <=5 restituirà anche

Per esempio:

// Minh họa chương trình Go dùng toán tử quan hệ
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// ‘=='(Equal To) 
result1:= p == q 
fmt.Println(result1) 
	
// ‘!='(Not Equal To) 
result2:= p != q 
fmt.Println(result2) 
	
// ‘<‘(less than)="" result3:="p">< q="" fmt.println(result3)="" ‘="">'(Greater Than) 
result4:= p > q 
fmt.Println(result4) 
	
// ‘>='(Greater Than Equal To) 
result5:= p >= q 
fmt.Println(result5) 
	
// ‘<='(less than="" equal="" to)="" result6:="p"><= q="" fmt.println(result6)="" }="">

Risultato:

false
true
false
true
true
false

operatori logici

Vengono utilizzati per combinare due o più condizioni/vincoli o per integrare la valutazione della condizione iniziale in esame.

  • AND: l'operatore '&&' restituisce true quando entrambe le condizioni in esame sono soddisfatte. In caso contrario, restituisce falso. Ad esempio, a && b restituisce true quando sia a che b sono true (ovvero diversi da zero).
  • OPPURE: Operatore '||' Restituisce true quando una (o entrambe) le condizioni in esame sono soddisfatte. In caso contrario, restituisce falso. Ad esempio: a || b restituisce true se a o b è vero (ovvero diverso da zero). Naturalmente, restituisce true quando sia a che b sono true.
  • NON logico: il '!' operatore Restituisce true quando la condizione in esame non è soddisfatta. In caso contrario, restituisce falso. Ad esempio: !a restituisce true se a è falso, cioè quando a = 0.

Per esempio:

// Minh họa chương trình Go dùng toán tử logic
package main 
import "fmt"
func main() { 
	var p int = 23
	var q int = 60
		
	if(p!=q && p<=q){ fmt.println("true")="" }="" if(p!="q" ||=""><=q){ fmt.println("true")="" }="" if(!(p="=q)){" fmt.println("true")="" }="" }="">

Risultato:

True
True
True

operatori bit a bit

Nel linguaggio Go ci sono 6 operatori bit a bit che operano a livello di bit o vengono utilizzati per eseguire operazioni bit per bit. Di seguito sono riportati gli operatori bit a bit:

  • & (AND bit a bit): accetta due numeri come operandi ed esegue AND su ogni bit dei due numeri. Il risultato di AND è 1 solo se entrambi i bit sono 1.
  • | (OR bit a bit): accetta due numeri come operandi ed esegue l'OR su ogni bit dei due numeri. Il risultato di OR è 1 se uno dei due bit è 1.
  • ^ (XOR bit a bit): accetta due numeri come operandi ed esegue XOR su ogni bit dei due numeri. Il risultato di XOR è 1 se i due bit sono diversi.
  • < (sposta a sinistra): prende due numeri, sposta i bit del primo operando a sinistra, il secondo operando determina il numero di posizioni da spostare
  • >> (spostamento a destra): prendi due numeri, sposta i bit del primo operando a destra, il secondo operando determina il numero di posizioni da spostare.
  • &^ (AND NOT): questo è un operatore bit a bit esplicito.

Per esempio:

// Minh họa chương trình Go dùng toán tử bitwise
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// & (bitwise AND) 
result1:= p & q 
fmt.Printf("Result of p & q = %d", result1) 
	
// | (bitwise OR) 
result2:= p | q 
fmt.Printf("\nResult of p | q = %d", result2) 
	
// ^ (bitwise XOR) 
result3:= p ^ q 
fmt.Printf("\nResult of p ^ q = %d", result3) 
	
// < (left="" shift)="" result4:="p">< 1="" fmt.printf("\nresult="" of="" p="">< 1="%d" ,"="" result4)="">> (right shift) 
result5:= p >> 1
fmt.Printf("\nResult of p >> 1 = %d", result5) 
	
// &^ (AND NOT) 
result6:= p &^ q 
fmt.Printf("\nResult of p &^ q = %d", result6) 
	
	
} 

Risultato:

Kết quả của p & q = 0
Kết quả của p | q = 54
Kết quả của p ^ q = 54
Kết quả của p < 1="68" kết="" quả="" của="" p="">> 1 = 17
Kết quả của p &^ q = 34

Operatore di assegnazione

L'operatore di assegnazione viene utilizzato per assegnare un valore a una variabile. L'operando sinistro dell'operatore di assegnazione è una variabile e l'operando destro dell'operatore di assegnazione è un valore. Il valore a destra deve avere lo stesso tipo di dati della variabile a sinistra, altrimenti il ​​compilatore restituirà un errore. Di seguito sono riportati i diversi tipi di operatori di assegnazione:

  • “="(Assegnazione semplice): questo è l'operatore di assegnazione più semplice. Questo operatore viene utilizzato per assegnare il valore a destra alla variabile a sinistra.
  • “+="(Assegnazione aggiuntiva): questo operatore è una combinazione degli operatori '+' e '='. Questo operatore somma prima il valore corrente della variabile di sinistra al valore della variabile di destra, quindi assegna il risultato alla variabile di sinistra.
  • “-=”(Assegnazione meno): questo operatore è una combinazione degli operatori '-' e '='. Questo operatore sottrae prima il valore corrente della variabile di sinistra dal valore della variabile di destra, quindi assegna il risultato alla variabile di sinistra.
  • “*=”(Assegnazione di moltiplicazione): questo operatore è una combinazione degli operatori '*' e '='. Questo operatore moltiplica prima il valore corrente della variabile di sinistra per il valore di destra, quindi assegna il risultato alla variabile di sinistra.
  • “/="(Assegnazione di divisione): questo operatore è una combinazione degli operatori '/' e '='. Questo operatore divide prima il valore corrente della variabile di sinistra per il valore di destra, quindi assegna il risultato alla variabile di sinistra.
  • “%="(Assegnazione del resto): questo operatore è una combinazione degli operatori '%' e '='. Questo operatore prende prima il resto del valore corrente della variabile di sinistra dato il valore sulla destra, quindi assegna il risultato alla variabile di sinistra.
  • “&="(AND bit a bit): questo operatore è una combinazione degli operatori '&' e '='. Questo operatore esegue prima l'operazione "AND bit a bit" tra il valore corrente della variabile di sinistra e il valore di destra, quindi assegna il risultato alla variabile di sinistra.
  • “^="(OR esclusivo bit a bit): questo operatore è una combinazione degli operatori '^' e '='. Questo operatore esegue prima l'operazione "OR esclusivo bit a bit" sul valore corrente della variabile di sinistra per il valore della variabile di destra e poi assegna il risultato alla variabile di sinistra.
  • “|="(OR bit a bit inclusivo): questo operatore è una combinazione di '|' operatori e '='. Questo operatore esegue prima l'operazione "OR bit a bit inclusivo" tra il valore corrente della variabile di sinistra e il valore della variabile di destra, quindi assegna il risultato alla variabile di sinistra.
  • "<=: questo operatore è una combinazione degli operatori < ' e '="'." Questo operatore prima "sposta" il valore corrente della variabile a sinistra del valore a destra e poi assegna il risultato alla variabile a destra.
  • “>>=": questo operatore è una combinazione degli operatori '>>' e '='. Questo operatore prima esegue un "AND a destra" sul valore corrente della variabile a sinistra con il valore a destra, quindi assegna il risultato alla variabile a sinistra.

Per esempio:

// Minh họa chương trình Go dùng toán tử gán
package main 
	
import "fmt"
	
func main() { 
var p int = 45
	var q int = 50
	
// “=”(Simple Assignment) 
p = q 
fmt.Println(p) 
	
// “+=”(Add Assignment) 
	p += q 
fmt.Println(p) 
	
//“-=”(Subtract Assignment) 
p-=q 
fmt.Println(p) 
	
// “*=”(Multiply Assignment) 
p*= q 
fmt.Println(p) 
	
// “/=”(Division Assignment) 
	p /= q 
fmt.Println(p) 
	
	// “%=”(Modulus Assignment) 
	p %= q 
fmt.Println(p) 
	
} 

Risultato:

50
100
50
2500
50
0

Altri operatori

  • &: questo operatore restituisce l'indirizzo di una variabile.
  • *: Questo operatore fornisce un puntatore a una variabile.
  • <-: Il nome di questo operatore è receive. Viene utilizzato per ricevere un valore da
// Minh họa chương trình sử dụng toán tử khác
package main 
	
import "fmt"
	
func main() { 
a := 4
	
// Dùng địa chỉ của toán tử (&) toán tử trỏ gián tiếp (*)

b := &a 
fmt.Println(*b) 
*b = 7
fmt.Println(a) 
} 

Risultato:

4
7

Lascia un commento

Come smaltire una lavatrice a Taranto: ritiro, centro di raccolta o rivenditore?

Come smaltire una lavatrice a Taranto: ritiro, centro di raccolta o rivenditore?

Come smaltire una lavatrice a Taranto: confronto tra centro comunale, ritiro domiciliare Kyma Ambiente e ritiro uno contro uno del rivenditore.

TARI a Ferrara: come fare voltura, cessazione e variazione

TARI a Ferrara: come fare voltura, cessazione e variazione

Guida aggiornata per gestire TARI e Tariffa Corrispettiva Puntuale a Ferrara: documenti, voltura, cessazione, variazione e controlli finali.

Ritiro rifiuti ingombranti a Napoli: come prenotarlo e quando scegliere un’alternativa

Ritiro rifiuti ingombranti a Napoli: come prenotarlo e quando scegliere un’alternativa

Come prenotare il ritiro dei rifiuti ingombranti a Napoli con ASIA, cosa si può conferire e quando convengono Ecopunti Mobili o centri di raccolta.

Come smaltire un frigorifero: RAEE, ritiro gratuito e 4 passaggi pratici

Come smaltire un frigorifero: RAEE, ritiro gratuito e 4 passaggi pratici

Come smaltire un frigorifero in Italia: regole RAEE, ritiro uno contro uno, centro di raccolta, preparazione e errori da evitare.

Come smaltire una power bank a Palermo: dove portarla e come farlo in sicurezza

Come smaltire una power bank a Palermo: dove portarla e come farlo in sicurezza

Guida pratica per smaltire una power bank a Palermo: CCR RAP, ritiro nei negozi, regole RAEE e precauzioni per batterie al litio danneggiate.

Ritiro rifiuti ingombranti a Reggio Emilia: come prenotarlo con Iren

Ritiro rifiuti ingombranti a Reggio Emilia: come prenotarlo con Iren

Scopri come prenotare il ritiro dei rifiuti ingombranti a Reggio Emilia con Iren Ambiente, quali informazioni preparare e come verificare le regole locali.

Come smaltire una bombola del gas a Catania: canali sicuri e cosa evitare

Come smaltire una bombola del gas a Catania: canali sicuri e cosa evitare

Guida pratica per smaltire una bombola GPL a Catania: rivenditore, Dusty, trasporto sicuro, casi urgenti e errori da evitare.

Come smaltire una bicicletta a Firenze: riuso, Ecocentro o ritiro ingombranti?

Come smaltire una bicicletta a Firenze: riuso, Ecocentro o ritiro ingombranti?

Come smaltire una bicicletta a Firenze: come scegliere tra riuso, Ecocentro e ritiro ingombranti, con criteri pratici e verifiche utili prima del conferimento.

Come smaltire un portatile a Padova: dove portarlo e come cancellare i dati

Come smaltire un portatile a Padova: dove portarlo e come cancellare i dati

Devi smaltire un portatile a Padova? Scopri centri di raccolta, ritiro in negozio, regole RAEE e come proteggere i dati prima della consegna.

Come smaltire pile esauste a Salerno: dove portarle e cosa fare prima del conferimento

Come smaltire pile esauste a Salerno: dove portarle e cosa fare prima del conferimento

Guida aggiornata per smaltire pile esauste a Salerno: negozi, centri di raccolta Fratte e Arechi, centro mobile, pile al litio e errori da evitare.