Rumah >pembangunan bahagian belakang >Golang >Tambahan peta asas bahasa pergi

Tambahan peta asas bahasa pergi

Go语言进阶学习
Go语言进阶学习ke hadapan
2023-07-24 16:31:13946semak imbas

Dalam bahagian sebelumnya, kami belajar cara menggunakan peta.

peta boleh ditakrifkan dalam dua cara, satu ialah cara standard, memberikan nilai semasa mengisytiharkan, dan satu lagi adalah membuat.

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

Terjumpa masalah

Saya tidak tahu jika anda telah menemui masalah Nampaknya peta yang kami simpan sekarang hanya boleh menyimpan satu.

Sepatutnya, saya sepatutnya ada senarai untuk menyimpan maklumat pelajar satu persatu.

Pseudocode:

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

Tetapi setelah bermain sekian lama, masih ada mesej tunggal, yang sangat berbahaya.


Peta disimpan dalam kepingan

Kami tahu bahawa penghirisan ditakrifkan seperti ini.

var names []string
var names = []string{}
var names = make([]string,0,10)

Dalam senarai di atas, senarai menyimpan jenis asas, seperti rentetan, nombor, dsb.

Untuk sesuatu yang menarik, simpan peta terus dalam senarai.

伪代码

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

示例代码

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:李四]]
}

图解

Tambahan peta asas bahasa pergi


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

图解

Tambahan peta asas bahasa pergi

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

Atas ialah kandungan terperinci Tambahan peta asas bahasa pergi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Go语言进阶学习. Jika ada pelanggaran, sila hubungi admin@php.cn Padam