Maison >développement back-end >Golang >Analyse de types de données composites en langage Go
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.
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!