Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse zusammengesetzter Datentypen in der Go-Sprache

Analyse zusammengesetzter Datentypen in der Go-Sprache

WBOY
WBOYOriginal
2024-04-03 17:33:01612Durchsuche

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.

Analyse zusammengesetzter Datentypen in der Go-Sprache

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]type

Ein 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 []type

Im 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_type

Beispielsweise 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn