Maison  >  Article  >  développement back-end  >  Analyse de types de données composites en langage Go

Analyse de types de données composites en langage Go

WBOY
WBOYoriginal
2024-04-03 17:33:01610parcourir

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

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

var numbers [5]int

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

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

var numbers = []int{1, 2, 3, 4, 5}

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

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

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
    ...
}

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

type Person struct {
    name string
    age int
}

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)
}

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!

Déclaration:
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