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

Tambahan peta asas bahasa pergi

Lepaskan: 2023-07-24 16:31:13
ke hadapan
950 orang telah melayarinya

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]
}
Salin selepas log masuk

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 = [张三的信息,李四的信息,王五的信息,...]
Salin selepas log masuk

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)
Salin selepas log masuk

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类型
Salin selepas log masuk

示例代码

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:李四]]
}
Salin selepas log masuk

图解

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

图解

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!

Label berkaitan:
sumber:Go语言进阶学习
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan