Heim > Artikel > Backend-Entwicklung > Analyse zusammengesetzter Datentypen in der Go-Sprache
Zu den zusammengesetzten Datentypen der Go-Sprache gehören: Array: Elementsammlung fester Größe, Indexzugriff. Slice: Datenstruktur mit dynamischer Größe, die wachsen/schrumpfen kann. Zuordnung: Eine ungeordnete Sammlung von Schlüssel-Wert-Paaren. Struktur: Ein zusammengesetzter Typ, der verwandte Daten organisiert.
Detaillierte Erläuterung der zusammengesetzten Datentypen in der Go-Sprache
Die Go-Sprache bietet eine Vielzahl zusammengesetzter Datentypen zum Speichern und Organisieren komplexer Datenstrukturen. Zu diesen Datentypen gehören Arrays, Slices, Karten und Strukturen.Array
Ein Array ist eine Sammlung von Elementen fester Größe, jedes Element hat einen festen Index. Die Syntax eines Arrays lautet wie folgt:var array_name [size]typeEin Array mit 5 Ganzzahlen kann beispielsweise wie folgt deklariert werden:
var numbers [5]int
Slices
Slices sind Datenstrukturen mit dynamischer Größe, die Arrays ähneln. Die Syntax für das Slicing lautet wie folgt:var slice_name []typeIm Gegensatz zu Arrays kann die Größe eines Slices je nach Bedarf dynamisch wachsen oder schrumpfen.
var numbers = []int{1, 2, 3, 4, 5}
Map
Map ist eine ungeordnete Sammlung von Schlüssel-Wert-Paaren. Die Syntax der Zuordnung lautet wie folgt:var map_name map[key_type]value_typeBeispielsweise kann eine Zuordnung, die Zeichenfolgen auf Ganzzahlen abbildet, wie folgt deklariert werden:
var ages = make(map[string]int) ages["Alice"] = 25 ages["Bob"] = 30
Struktur
Eine Struktur ist ein zusammengesetzter Typ, der zusammengehörige Daten organisiert. Die Syntax der Struktur lautet wie folgt:type struct_name struct { field_name1 type1 field_name2 type2 ... }Zum Beispiel kann eine Struktur, die ein Zeichen darstellt, wie folgt deklariert werden:
type Person struct { name string age int }
Praktischer Fall
Im folgenden Codebeispiel verwenden wir Arrays, Slices, Maps und Strukturen zum Speichern und Bearbeiten von Mitarbeiterdaten.package main import "fmt" type Employee struct { name string salary float64 } func main() { // 数组 employees := [5]Employee{ {"Alice", 1000}, {"Bob", 1200}, {"Carol", 1400}, {"Dave", 1600}, {"Eve", 1800}, } // 遍历数组 for _, employee := range employees { fmt.Printf("%s earns $%.2f\n", employee.name, employee.salary) } // 切片 ages := []int{25, 30, 35, 40, 45} // 遍历切片 for _, age := range ages { fmt.Println(age) } // 映射 agesMap := make(map[string]int) agesMap["Alice"] = 25 agesMap["Bob"] = 30 agesMap["Carol"] = 35 // 访问映射值 fmt.Println(agesMap["Alice"]) // 结构体 employee := Employee{ name: "John", salary: 2000, } // 访问结构体字段 fmt.Println(employee.name, employee.salary) }
Das obige ist der detaillierte Inhalt vonAnalyse zusammengesetzter Datentypen in der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!