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

Go語言map用法實例分析

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

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

map 映射鍵到值:

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

復制代碼 代碼如下:
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)體文法相似,不過鍵名是必須的。
復制代碼 代碼如下:
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)
}

 
如果頂層類型只有類型名的話,可以在文法的元素中省略鍵名。
復制代碼 代碼如下:
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 中插入或修改一個元素:

復制代碼 代碼如下:
m[key] = elem

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

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

通過雙賦值檢測某個鍵存在:
復制代碼 代碼如下:
elem, ok = m[key]

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

同樣的,當從 map 中讀取某個不存在的鍵時,結(jié)果是 map 的元素類型的零值。

復制代碼 代碼如下:
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)
}

希望本文所述對大家的Go語言程序設計有所幫助。

相關文章

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

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

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

    Golang?鎖原理的簡單實現(xiàn)

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

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

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

    golang反射機制的用法詳解

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

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

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

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

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

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

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

    GoLang中Module的基本使用方法

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

    Go習慣用法(多值賦值短變量聲明賦值簡寫模式)基礎實例

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

    深入了解Go的HttpClient超時機制

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

最新評論