English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base Golang

Istruzioni di controllo Golang

Funzione & Metodo Golang

Struttura Golang

Tagli & Array Golang

Stringhe (String) Golang

Puntatori Golang

Interfaccia Golang

Concordanza Golang

Eccezioni (Error) Golang

Altri argomenti Golang

Confronto del puntatore del linguaggio Go

In Go, è possibile confrontare due puntatori. Due valori di puntatore sono uguali solo se puntano allo stesso valore nella memoria o se sono nil. Puoi confrontare i puntatori con l'aiuto degli operatori == e != forniti da Go:

1. Operatore ==:Se entrambi i puntatori puntano allo stesso variabile, l'operatore restituisce true. O se entrambi i puntatori puntano a variabili diverse, viene restituito false.

Sintassi:

pointer_1 == pointer_2
package main
import "fmt"
func main() {
    val1 := 2345
    val2 := 567
    // Creazione ed inizializzazione dei puntatori
    var p1 *int
    p1 = &val1
    p2 := &val2
    p3 := &val1
    // Utilizzo dell'operatore == per confrontare i puntatori
    res1 := &p1 == &p2
    fmt.Println("Il puntatore p1 è uguale al puntatore p2?: ", res1)
    res2 := p1 == p2
    fmt.Println("Il puntatore p1 è uguale al puntatore p2?: ", res2)
    res3 := p1 == p3
    fmt.Println("Il puntatore p1 è uguale al puntatore p3?: ", res3)
    res4 := p2 == p3
    fmt.Println("Il puntatore p2 è uguale al puntatore p3?: ", res4)
    res5 := &p3 == &p1
    fmt.Println("Il puntatore p3 è uguale al puntatore p1?: ", res5)
}

Output:

Il puntatore p1 è uguale al puntatore p2?: false
Il puntatore p1 è uguale al puntatore p2?: false
Il puntatore p1 è uguale al puntatore p3?: true
Il puntatore p2 è uguale al puntatore p3?: false
Il puntatore p3 è uguale al puntatore p1?: false

2. Operatore !=:Se entrambi i puntatori puntano alla stessa variabile, questo operatore restituisce false. O se entrambi i puntatori puntano a variabili diverse, restituisce true.

Sintassi:

pointer_1 != pointer_2
package main
import "fmt"
func main() {
    val1 := 2345
    val2 := 567
    // Creazione ed inizializzazione dei puntatori
    var p1 *int
    p1 = &val1
    p2 := &val2
    p3 := &val1
    // Utilizzo dell'operatore != per confrontare i puntatori
    res1 := &p1 != &p2
    fmt.Println("Il puntatore p1 è uguale al puntatore p2?: ", res1)
    res2 := p1 != p2
    fmt.Println("Il puntatore p1 è uguale al puntatore p2?: ", res2)
    res3 := p1 != p3
    fmt.Println("Il puntatore p1 è uguale al puntatore p3?: ", res3)
    res4 := p2 != p3
    fmt.Println("Il puntatore p2 è uguale al puntatore p3?: ", res4)
    res5 := &p3 != &p1
    fmt.Println("Il puntatore p3 è uguale al puntatore p1?: ", res5)
}

Output:

Il puntatore p1 è uguale al puntatore p2?: true
Il puntatore p1 è uguale al puntatore p2?: true
Il puntatore p1 è uguale al puntatore p3?: false
Il puntatore p2 è uguale al puntatore p3?: true
Il puntatore p3 è uguale al puntatore p1?: true