最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Go語言基礎(chǔ)之怎么使用Map

這篇文章主要講解了“Go語言基礎(chǔ)之怎么使用Map”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Go語言基礎(chǔ)之怎么使用Map”吧!

創(chuàng)新互聯(lián)基于成都重慶香港及美國等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動(dòng)大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)成都移動(dòng)機(jī)房報(bào)價(jià),主機(jī)托管價(jià)格性價(jià)比高,為金融證券行業(yè)服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專業(yè)成都idc公司。

引入map

map,在Python中叫字典,Java中也叫map,PHP中好像列表就帶有map的功能。

map是鍵值對(key-value)存儲結(jié)構(gòu),是無序的,內(nèi)部使用哈希(hash)實(shí)現(xiàn),性能很高。

在Go中,map是引用類型

map基本使用

map語法

方式一,聲明時(shí)賦值 var 變量名 = map[key類型][value類型]{     key:value,     key:value,//必須使用,結(jié)尾,否則會報(bào)錯(cuò) } //方式二,make方式 var 變量名 = make(map[key類型]value類型, 容量(cap)) //如果map是make方式聲明的,第二個(gè)參數(shù)直接就是容量,元素個(gè)數(shù)是0,沒有第三個(gè)參數(shù)

示例

方式一,聲明時(shí)賦值

代碼

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

方式二,make方式

代碼

package main  import "fmt"  func main() {     var stu1 = make(map[string]string,10)     stu1["Name"] = "張三"     stu1["Age"] = "18"     stu1["height"] = "188"      var stu2 = make(map[string]string,10)     stu2["Name"] = "李四"     stu2["Age"] = "20"     stu2["height"] = "170"     fmt.Println(stu1,stu2)     //map[Age:18 Name:張三 height:188] map[Age:20 Name:李四 height:170] }

ps:關(guān)于這兩種方式,哪個(gè)使用的多。

我的建議是,如果確定有多少個(gè)字段,就使用第一種,如果不確定多少個(gè)字段,是動(dòng)態(tài)添加的,用第二種。

使用第二種要大概估算好容量,超過會觸發(fā)自動(dòng)擴(kuò)容機(jī)制,可能會產(chǎn)生那么一絲絲的性能影響。

遍歷map(查)

遍歷map,通常只用一種方式for range。

代碼

package main  import "fmt"  func main() {     var stu1 = make(map[string]string, 10)     stu1["Name"] = "張三"     stu1["Age"] = "18"     stu1["height"] = "188"      for key, value := range stu1 {         //map遍歷時(shí),key值鍵,value是值         fmt.Println(key, value)   } }

只遍歷key

package main  import "fmt"  func main() {     var stu1 = make(map[string]string, 10)     stu1["Name"] = "張三"     stu1["Age"] = "18"     stu1["height"] = "188"      for key := range stu1 {         //只遍歷key         fmt.Println(key)   } }

修改map的值(改)

package main  import "fmt"  func main() {     //var stu1 = make(map[string]string, 10)     //stu1["Name"] = "張三"     //stu1["Age"] = "18"     //stu1["height"] = "188"     //     //stu1["Name"] = "張三666"http://修改     //fmt.Println(stu1)      //同上     var stu1 = map[string]string{         "Name":   "張三",         "Age":    "18",         "height": "188", //每行都要以,結(jié)尾, }     stu1["Name"] = "張三666"http://修改     fmt.Println(stu1) }

刪除map里面的值

刪除map里面的值需要用到delete。

代碼

package main  import "fmt"  func main() {      var stu1 = map[string]string{         "Name":   "張三",         "Age":    "18",         "height": "188", //每行都要以,結(jié)尾, }     fmt.Println(stu1)    //map[Age:18 Name:張三 height:188]     delete(stu1, "Name") //刪除key以及key對應(yīng)的值     fmt.Println(stu1)    //map[Age:18 height:188] }

map取值注意事項(xiàng)

map在取值時(shí),盡可能的判斷一下是否key存在

package main  import "fmt"  func main() {    var stu1 = map[string]string{     "Name":   "張三",     "Age":    "18",     "height": "188", //每行都要以,結(jié)尾,   }   //result := stu1["Name"]//key存在,沒問題   //fmt.Println(result)//張三   //result := stu1["Names"]//手一抖,key打錯(cuò)了   //fmt.Println(result)//結(jié)果為空,顯然不是太友好    //取值標(biāo)準(zhǔn)用法   result, ok := stu1["Name"]   //如果key存在,ok為true,如果key不存在,ok為false   fmt.Println(result,ok)//張三 true   if ok {     fmt.Println(result)   } else {     fmt.Println("key不存在")   } }

感謝各位的閱讀,以上就是“Go語言基礎(chǔ)之怎么使用Map”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Go語言基礎(chǔ)之怎么使用Map這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!


網(wǎng)頁標(biāo)題:Go語言基礎(chǔ)之怎么使用Map
標(biāo)題網(wǎng)址:http://fisionsoft.com.cn/article/gsgepi.html