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

Aller au supplément de la carte des bases linguistiques

Libérer: 2023-07-24 16:31:13
avant
923 Les gens l'ont consulté

Dans la section précédente, nous avons appris à utiliser la carte.

map peut être défini de deux manières, l'une est la manière standard, attribuant une valeur lors de la déclaration, et l'autre est make.

package main


import "fmt"


func main() {


    var stu1 = map[string]string{
        "Name":   "张三",
        "Age":    "18",
        "height": "188", //每行都要以,结尾,
}


    stu2:=make(map[string]string,10)
    stu2["Name"] = "李四"
    stu2["Age"] = "170"
    stu2["height"] = "109"


    fmt.Println(stu1,stu2)
    //map[Age:18 Name:张三 height:188] map[Age:170 Name:李四 height:109]
}
Copier après la connexion

J'ai trouvé un problème

Je ne sais pas si vous avez trouvé un problème. Il semble que la carte que nous stockons maintenant ne peut en stocker qu'un seul.

À proprement parler, je devrais avoir une liste pour stocker les informations sur les étudiants une par une.

Pseudocode :

var student_list = [张三的信息,李四的信息,王五的信息,...]
Copier après la connexion

Mais après avoir joué si longtemps, il y a encore des messages uniques, ce qui est vraiment nuisible.


La carte est stockée dans la tranche

Nous savons que le découpage se définit ainsi.

var names []string
var names = []string{}
var names = make([]string,0,10)
Copier après la connexion

Dans ce qui précède, les listes enregistrent les types de base, tels que les chaînes, les nombres, etc.

Pour quelque chose d'excitant, enregistrez la carte directement dans la liste.

伪代码

var names = []map[string]string{}
//注意:map[string]string{}是切片里面值的类型,这个切片里面的每个值都是map类型
Copier après la connexion

示例代码

package main


import "fmt"


func main() {
    //定义个类型是map的列表
    var names = []map[string]string{}
    var name1 = map[string]string{
        "Name": "张三",
        "Age":  "18",
}
    var name2 = map[string]string{
        "Name": "李四",
        "Age":  "22",
}
    names = append(names, name1, name2) //向列表中添加map
    fmt.Println(names)                  //[map[Age:18 Name:张三] map[Age:22 Name:李四]]
}
Copier après la connexion

图解

Aller au supplément de la carte des bases linguistiques


map中保存切片

在以往的操作中,我们的mapkeyvalue都是一个

那像一个人的爱好了,生活习惯了,等,都不止一个,所以,在map中,map的值(value),应该能保存多个才对。

代码

package main


import "fmt"


func main() {
    //map中,value为切片类型
    var person_hoppy = map[string][]string{}
    person_hoppy["hoppy"] = []string{"吃", "喝", "拉", "撒"}
    fmt.Println(person_hoppy)//map[hoppy:[吃 喝 拉 撒]]
}
Copier après la connexion

图解

Aller au supplément de la carte des bases linguistiques

注:在map中,key只能是固定值,因为要通过key找值,所以key不能修改,value可以是任意类型。

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:Go语言进阶学习
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