Heim > Backend-Entwicklung > Golang > Kartenergänzung zu Go-Sprachgrundlagen

Kartenergänzung zu Go-Sprachgrundlagen

Freigeben: 2023-07-24 16:31:13
nach vorne
941 Leute haben es durchsucht

Im vorherigen Abschnitt haben wir gelernt, wie man die Karte verwendet.

map kann auf zwei Arten definiert werden: Eine ist die Standardmethode, bei der beim Deklarieren ein Wert zugewiesen wird, und die andere ist „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]
}
Nach dem Login kopieren

Ein Problem gefunden

Ich weiß nicht, ob Sie ein Problem gefunden haben. Es scheint, dass die Karte, die wir jetzt speichern, nur eines speichern kann.

Eigentlich sollte ich eine Liste haben, in der ich die Schülerinformationen einzeln speichern kann.

Pseudocode:

var student_list = [张三的信息,李四的信息,王五的信息,...]
Nach dem Login kopieren

Aber nach so langer Spielzeit gibt es immer noch einzelne Nachrichten, was wirklich schädlich ist.


Die Karte wird im Slice gespeichert

Wir wissen, dass Slicing so definiert ist.

var names []string
var names = []string{}
var names = make([]string,0,10)
Nach dem Login kopieren

In den oben genannten Listen werden Grundtypen, Zeichenfolgen, Zahlen usw. gespeichert.

Für etwas Aufregendes speichern Sie die Karte direkt in der Liste.

伪代码

var names = []map[string]string{}
//注意:map[string]string{}是切片里面值的类型,这个切片里面的每个值都是map类型
Nach dem Login kopieren

示例代码

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:李四]]
}
Nach dem Login kopieren

图解

Kartenergänzung zu Go-Sprachgrundlagen


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:[吃 喝 拉 撒]]
}
Nach dem Login kopieren

图解

Kartenergänzung zu Go-Sprachgrundlagen

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

Das obige ist der detaillierte Inhalt vonKartenergänzung zu Go-Sprachgrundlagen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:Go语言进阶学习
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage