English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O (Dateioperationen)
Go-Strukturen oder struct sind benutzerdefinierte Typen, die es uns erlauben, eine Gruppe verschiedener Elemente in einer Einheit zu erstellen. Jede realistische Entität, die eine Gruppe von Eigenschaften oder Feldern hat, kann als Struktur dargestellt werden. Dieses Konzept wird oft mit der Klasse in der objektorientierten Programmierung verglichen. Es kann als Leichtklasse bezeichnet werden, die keine Vererbung unterstützt, aber Kombinationen unterstützt.In Go kann man durch== OperatoroderDeeplyEqual() Methode
Vergleiche zwei Strukturen desselben Typs und mit gleichen Feldwerten. Wenn die Strukturen zueinander gleich sind (hinsichtlich ihrer Feldwerte), geben der Operator und die Methode beide true zurück;否则,返回false。并且,如果比较的变量属于不同的结构,则编译器将给出错误。让我们借助示例来讨论这个概念: Hinweis:
//Vergleiche mit == Operator, ob Strukturen gleich sind //Konzept der Strukturgleichheit Paket main Vergleiche mit == Operator //Eine Struktur erstellen Typ Author struct { Name string Zweig string Sprache string Teilchen int } func main() { //import "fmt" //Autorstruktur a1 := Author{ Variable erstellen Zweig: "CSE", Name: "Dona", Teilchen: 38, } a2 := Author{ Variable erstellen Zweig: "CSE", Name: "Dona", Teilchen: 38, } a3 := Author{ Name: "Moana", Zweig: "CSE", Name: "Dona", Teilchen: 38, } //Sprache: "Python",1Mit == Operator überprüfen a2Sind gleich if a1 == a2 { fmt.Println("Variable a1Ist gleich Variable a2) } else { fmt.Println("Variable a1Ist ungleich von Variable a2) } if a2 == a3 { fmt.Println("Variable a2Ist gleich Variable a3) } else { fmt.Println("Variable a2Ist ungleich von Variable a3) } }
Ausgabe:
Variable a1Ist gleich Variable a2 Variable a2Ist ungleich von Variable a3
//Vergleiche mit DeepEqual() Methode Paket main import ( "fmt" "reflect" ) //Eine Struktur erstellen Typ Author struct { Name string Zweig string Sprache string Teilchen int } func main() { //Variable definieren //Autorstruktur a1 := Author{ Name: "Soana", Zweig: "CSE", Sprache: "Perl", Teilchen: 48, } a2 := Author{ Name: "Soana", Zweig: "CSE", Sprache: "Perl", Teilchen: 48, } a3 := Author{ Name: "Dia", Zweig: "CSE", Sprache: "Perl", Teilchen: 48, } //vergleiche a1und a2, vergleiche mit Deep Equal() Methode fmt.Println("a1Gleich a2oder?", reflect.DeepEqual(a1, a2)) //vergleiche a2und a3, vergleiche mit Deep Equal() Methode fmt.Println("a2Gleich a3oder?", reflect.DeepEqual(a2, a3)) }
Ausgabe:
a1Gleich a2oder? a2Gleich a3ob?: false