English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In der Programmiersprache Go ist es erlaubt, zwei Zeiger zu vergleichen. Die beiden Zeigerwerte sind nur dann gleich, wenn sie auf denselben Wert im Speicher verweisen oder wenn sie beide nil sind. Sie können die ==- und !=-Operatoren, die von der Programmiersprache Go bereitgestellt werden, verwenden, um Zeiger zu vergleichen:
1. == Operator:Wenn beide Zeiger auf denselben Variablen verweisen, gibt dieser Operator true zurück. Oder wenn beide Zeiger auf verschiedene Variablen verweisen, gibt er false zurück.
Syntax:
pointer_1 == pointer_2
package main import "fmt" func main() { val1 := 2345 val2 := 567 //Erstellen und initialisieren Sie Zeiger var p1 *int p1 = &val1 p2 := &val2 p3 := &val1 //Verwenden Sie den ==-Operator, um Zeiger zu vergleichen res1 := &p1 == &p2 fmt.Println("p1Ist der Zeiger gleich p2Zeiger: "res1) res2 := p1 == p2 fmt.Println("p1Ist der Zeiger gleich p2Zeiger: "res2) res3 := p1 == p3 fmt.Println("p1Ist der Zeiger gleich p3Zeiger: "res3) res4 := p2 == p3 fmt.Println("p2Ist der Zeiger gleich p3Zeiger: "res4) res5 := &p3 == &p1 fmt.Println("p3Ist der Zeiger gleich p1Zeiger: "res5) }
Ausgabe:
p1Ist der Zeiger gleich p2Zeiger: false p1Ist der Zeiger gleich p2Zeiger: false p1Ist der Zeiger gleich p3Zeiger: true p2Ist der Zeiger gleich p3Zeiger: false p3Ist der Zeiger gleich p1Zeiger: false
2.!= Operator:Wenn beide Zeiger auf denselben Variablen verweisen, gibt dieser Operator false zurück. Oder wenn beide Zeiger auf verschiedene Variablen verweisen, gibt er true zurück.
Syntax:
pointer_1 != pointer_2
package main import "fmt" func main() { val1 := 2345 val2 := 567 //Erstellen und initialisieren Sie Zeiger var p1 *int p1 = &val1 p2 := &val2 p3 := &val1 // Verwenden Sie den !=-Operator, um Zeiger zu vergleichen res1 := &p1 != &p2 fmt.Println("p1Der Zeiger ist nicht gleich p2Ist der Zeiger: "res1) res2 := p1 != p2 fmt.Println("p1Der Zeiger ist nicht gleich p2Ist der Zeiger: "res2) res3 := p1 != p3 fmt.Println("p1Der Zeiger ist nicht gleich p3Ist der Zeiger: "res3) res4 := p2 != p3 fmt.Println("p2Der Zeiger ist nicht gleich p3Ist der Zeiger: "res4) res5 := &p3 != &p1 fmt.Println("p3Der Zeiger ist nicht gleich p1Ist der Zeiger: "res5) }
Ausgabe:
p1Der Zeiger ist nicht gleich p2Zeiger? wahr p1Der Zeiger ist nicht gleich p2Zeiger? wahr p1Der Zeiger ist nicht gleich p3Ist der Zeiger: false p2Der Zeiger ist nicht gleich p3Zeiger? wahr p3Der Zeiger ist nicht gleich p1Zeiger? wahr