欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語(yǔ)言map用法實(shí)例分析

 更新時(shí)間:2015年02月25日 15:28:56   作者:不是JS  
這篇文章主要介紹了Go語(yǔ)言map用法,實(shí)例分析了map的功能及使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Go語(yǔ)言map用法。分享給大家供大家參考。具體分析如下:

map 映射鍵到值:

map 在使用之前必須用 make 來(lái)創(chuàng)建(不是 new);一個(gè)值為 nil 的 map 是空的,并且不能賦值。

復(fù)制代碼 代碼如下:
package main
import "fmt"
type Vertex struct {
    Lat, Long float64
}
var m map[string]Vertex
func main() {
    m = make(map[string]Vertex)
    m["Bell Labs"] = Vertex{
        40.68433, 74.39967,
    }
    fmt.Println(m["Bell Labs"])
}

 
map 的文法跟結(jié)構(gòu)體文法相似,不過(guò)鍵名是必須的。
復(fù)制代碼 代碼如下:
package main
import "fmt"
type Vertex struct {
    Lat, Long float64
}
var m = map[string]Vertex{
    "Bell Labs": Vertex{
        40.68433, -74.39967,
    },
    "Google": Vertex{
        37.42202, -122.08408,
    },
}
func main() {
    fmt.Println(m)
}

 
如果頂層類(lèi)型只有類(lèi)型名的話(huà),可以在文法的元素中省略鍵名。
復(fù)制代碼 代碼如下:
package main
import "fmt"
type Vertex struct {
    Lat, Long float64
}
var m = map[string]Vertex{
    "Bell Labs": {40.68433, -74.39967},
    "Google":    {37.42202, -122.08408},
}
func main() {
    fmt.Println(m)
}

 
修改map:

在 map m 中插入或修改一個(gè)元素:

復(fù)制代碼 代碼如下:
m[key] = elem

獲得元素:
復(fù)制代碼 代碼如下:
elem = m[key]

刪除元素:
復(fù)制代碼 代碼如下:
delete(m, key)

通過(guò)雙賦值檢測(cè)某個(gè)鍵存在:
復(fù)制代碼 代碼如下:
elem, ok = m[key]

如果 key 在 m 中, ok 是 true。 否則,ok 是 false 并且 elem 是 map 的元素類(lèi)型的零值。

同樣的,當(dāng)從 map 中讀取某個(gè)不存在的鍵時(shí),結(jié)果是 map 的元素類(lèi)型的零值。

復(fù)制代碼 代碼如下:
package main
import "fmt"
func main() {
    m := make(map[string]int)
    m["Answer"] = 42
    fmt.Println("The value:", m["Answer"])
    m["Answer"] = 48
    fmt.Println("The value:", m["Answer"])
    delete(m, "Answer")
    fmt.Println("The value:", m["Answer"])
    v, ok := m["Answer"]
    fmt.Println("The value:", v, "Present?", ok)
}

希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • GoLang與Java各自生成grpc代碼流程介紹

    GoLang與Java各自生成grpc代碼流程介紹

    這篇文章主要介紹了GoLang與Java各自生成grpc代碼流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-03-03
  • Golang?鎖原理的簡(jiǎn)單實(shí)現(xiàn)

    Golang?鎖原理的簡(jiǎn)單實(shí)現(xiàn)

    本文主要介紹了Golang?鎖原理的簡(jiǎn)單實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Go中init()執(zhí)行順序詳解

    Go中init()執(zhí)行順序詳解

    go允許定義多個(gè)init(),多個(gè)init()會(huì)涉及到執(zhí)行先后的問(wèn)題,本文將詳細(xì)講解Go中init()執(zhí)行順序,感興趣的朋友一起看看吧
    2022-09-09
  • golang反射機(jī)制的用法詳解

    golang反射機(jī)制的用法詳解

    Golang 作為靜態(tài)類(lèi)型的編譯型語(yǔ)言,雖然在設(shè)計(jì)上傾向于簡(jiǎn)潔和高效,但也內(nèi)置了強(qiáng)大的反射機(jī)制,本文將深入講解 Golang 的反射機(jī)制,幫助大家更好地理解和運(yùn)用這一強(qiáng)大的特性,需要的朋友可以參考下
    2023-12-12
  • 一文詳解Golang協(xié)程調(diào)度器scheduler

    一文詳解Golang協(xié)程調(diào)度器scheduler

    這篇文章主要介紹了一文詳解Golang協(xié)程調(diào)度器scheduler,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • Go 函數(shù)返回nil遇到問(wèn)題避坑分析

    Go 函數(shù)返回nil遇到問(wèn)題避坑分析

    這篇文章主要為大家介紹了Go 函數(shù)返回nil遇到的避坑問(wèn)題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • go語(yǔ)言題解LeetCode1122數(shù)組的相對(duì)排序

    go語(yǔ)言題解LeetCode1122數(shù)組的相對(duì)排序

    這篇文章主要為大家介紹了go語(yǔ)言題解LeetCode1122數(shù)組的相對(duì)排序,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • GoLang中Module的基本使用方法

    GoLang中Module的基本使用方法

    Go module是從Go 1.11版本才引入的新功能,下面這篇文章主要給大家介紹了關(guān)于GoLang中Module的基本使用方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • Go習(xí)慣用法(多值賦值短變量聲明賦值簡(jiǎn)寫(xiě)模式)基礎(chǔ)實(shí)例

    Go習(xí)慣用法(多值賦值短變量聲明賦值簡(jiǎn)寫(xiě)模式)基礎(chǔ)實(shí)例

    本文為大家介紹了Go習(xí)慣用法(多值賦值,短變量聲明和賦值,簡(jiǎn)寫(xiě)模式、多值返回函數(shù)、comma,ok 表達(dá)式、傳值規(guī)則)的基礎(chǔ)實(shí)例,幫大家鞏固扎實(shí)Go語(yǔ)言基礎(chǔ)
    2024-01-01
  • 深入了解Go的HttpClient超時(shí)機(jī)制

    深入了解Go的HttpClient超時(shí)機(jī)制

    在寫(xiě)?Go?的過(guò)程中經(jīng)常對(duì)比這Java和GO語(yǔ)言的特性,踩了不少坑,也發(fā)現(xiàn)了不少有意思的地方,今天就來(lái)聊聊?Go?自帶的?HttpClient?的超時(shí)機(jī)制
    2022-11-11

最新評(píng)論