Maison > développement back-end > Golang > le corps du texte

Analyse de types de données composites en langage Go

WBOY
Libérer: 2024-04-03 17:33:01
original
619 Les gens l'ont consulté

Les types de données composites du langage Go incluent : tableau : collection d'éléments de taille fixe, accès à l'index. Tranche : structure de données de taille dynamique qui peut croître/réduire. Cartographie : une collection non ordonnée de paires clé-valeur. Structure : un type composite qui organise les données associées.

Analyse de types de données composites en langage Go

Explication détaillée des types de données composites dans le langage Go

Le langage Go fournit une variété de types de données composites pour stocker et organiser des structures de données complexes. Ces types de données incluent des tableaux, des tranches, des cartes et des structures.

Array

Un tableau est une collection d'éléments de taille fixe, chaque élément a un index fixe. La syntaxe d'un tableau est la suivante :

var array_name [size]type
Copier après la connexion

Par exemple, un tableau contenant 5 entiers peut être déclaré comme :

var numbers [5]int
Copier après la connexion

Slices

Les tranches sont des structures de données de taille dynamique similaires aux tableaux. La syntaxe du découpage est la suivante :

var slice_name []type
Copier après la connexion

Contrairement aux tableaux, la taille d'une tranche peut augmenter ou diminuer dynamiquement selon les besoins.

var numbers = []int{1, 2, 3, 4, 5}
Copier après la connexion

Map

Map est une collection non ordonnée de paires clé-valeur. La syntaxe du mappage est la suivante :

var map_name map[key_type]value_type
Copier après la connexion

Par exemple, un mappage qui mappe des chaînes à des entiers peut être déclaré comme :

var ages = make(map[string]int)
ages["Alice"] = 25
ages["Bob"] = 30
Copier après la connexion

Structure

Une structure est un type composite qui organise les données associées ensemble. La syntaxe de la structure est la suivante :

type struct_name struct {
    field_name1 type1
    field_name2 type2
    ...
}
Copier après la connexion

Par exemple, une structure représentant un caractère peut être déclarée comme :

type Person struct {
    name string
    age int
}
Copier après la connexion

Cas pratique

Dans l'exemple de code suivant, nous utilisons des tableaux, des tranches, des cartes et des structures pour stocker et manipuler les données des employés.

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)
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!