Go語言基礎之map補充

點擊上方「 Go語言進階學習 」,進行關注

回覆「Go語言」便可獲贈Python從入門到進階共10本電子書javascript

java

web

微信

app

長相思,摧心肝!

前言

Hey,你們好,我是星期八,我們接着上次繼續說,補充一些map的知識。less


上節回顧

在上節,咱們學習了map如何使用。編輯器

map有兩種方式定義,一種是標準方式,聲明時賦值,一種是make。ide

package main
import "fmt"
func main() {
var stu1 = map[string]string{ "Name": "張三" "Age": "18" "height": "188"//每行都要以,結尾,}
stu2:=make(map[string]string10) stu2["Name"] = "李四" stu2["Age"] = "170" stu2["height"] = "109"
fmt.Println(stu1,stu2) //map[Age:18 Name:張三 height:188] map[Age:170 Name:李四 height:109]}


發現問題

不知道你有沒有發現一個問題,咱們如今存儲的map好像只能存儲一個。學習

應該來講,我應該有個列表,存儲着一個個的學生信息。flex

僞代碼:

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

可是玩了這麼久,依然仍是一個個單的的信息,這搞得,害。


切片中存儲map

咱們知道切片,是這樣定義的。

var names []stringvar names = []string{}var names = make([]string010)

上述中,列表保存的都是基本類型,字符串了,數字了,等。

來點刺激的,列表中直接存map。

僞代碼

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

圖解


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

圖解

注:在map中,key只能是固定值,由於要經過key找值,因此key不能修改,value能夠是任意類型。


總結

上述咱們補充了一些map的知識。若是在操做過程當中有任何問題,記得下面討論區留言,咱們看到會第一時間解決問題。

我是碼農星期八,若是以爲還不錯,記得動手點贊一下哈。感謝你的觀看。

------------------- End -------------------

歡迎你們點贊轉發,轉載,感謝你們的相伴與支持

想加入學習羣請在後臺回覆【入羣

萬水千山老是情,點個【在看】行不行

本文分享自微信公衆號 - Go語言進階學習(gh_dced3d6523fb)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索