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

Golang Grundkurs

Golang Kontrollanweisungen

Golang Funktion & Methode

Golang Struktur

Golang Slice & Array

Golang Zeichenkette (String)

Golang Zeiger

Golang Schnittstelle

Golang Konkurrenz

Golang 异常(Error)

Go Ausnahmen (Error)

Go Strukturvergleich

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:

Die DeeplyEqual() Methode ist im "reflect"-Paket definiert.

//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, ob Strukturen gleich sind

//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