最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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語言程序設計有所幫助。

相關文章

  • 淺談Go語言并發(fā)機制

    淺談Go語言并發(fā)機制

    這篇文章主要介紹了淺談Go語言并發(fā)機制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 詳解Golang時間處理的踩坑及解決

    詳解Golang時間處理的踩坑及解決

    在各個語言之中都有時間類型的處理,這篇文章主要和大家分享一下Golang進行時間處理時哪里最容易踩坑以及解決方法,需要的可以參考一下
    2023-01-01
  • go語言處理TCP拆包/粘包的具體實現(xiàn)

    go語言處理TCP拆包/粘包的具體實現(xiàn)

    TCP的拆包/粘包也算是網(wǎng)絡編程中一個比較基礎的問題了,本文主要介紹了go語言處理TCP拆包/粘包,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • go日志系統(tǒng)logrus顯示文件和行號的操作

    go日志系統(tǒng)logrus顯示文件和行號的操作

    這篇文章主要介紹了go日志系統(tǒng)logrus顯示文件和行號的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • go換國內(nèi)源的方法步驟

    go換國內(nèi)源的方法步驟

    在中國境內(nèi),由于網(wǎng)絡原因,直接下載Go語言的包可能會遇到速度慢或下載失敗的問題,可以使用國內(nèi)的Go模塊代理來加速下載速度,本文就來介紹一下go換國內(nèi)源的方法步驟,感興趣的可以了解一下
    2024-09-09
  • golang的時區(qū)和神奇的time.Parse的使用方法

    golang的時區(qū)和神奇的time.Parse的使用方法

    這篇文章主要介紹了golang的時區(qū)和神奇的time.Parse的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • golang之數(shù)組切片的具體用法

    golang之數(shù)組切片的具體用法

    本文主要介紹了golang之數(shù)組切片的具體用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • Go方法簡單性和高效性的充分體現(xiàn)詳解

    Go方法簡單性和高效性的充分體現(xiàn)詳解

    本文深入探討了Go語言中方法的各個方面,包括基礎概念、定義與聲明、特性、實戰(zhàn)應用以及性能考量,文章充滿技術(shù)深度,通過實例和代碼演示,力圖幫助讀者全面理解Go方法的設計哲學和最佳實踐
    2023-10-10
  • Go Resiliency庫中timeout實現(xiàn)原理及源碼解析

    Go Resiliency庫中timeout實現(xiàn)原理及源碼解析

    Go-Resiliency庫中的timeout是一種基于協(xié)程的超時機制,通過創(chuàng)建協(xié)程來執(zhí)行任務并設置超時時間,若任務執(zhí)行時間超時則中止協(xié)程并返回錯誤,需要詳細了解可以參考下文
    2023-05-05
  • Golang泛型實現(xiàn)類型轉(zhuǎn)換的方法實例

    Golang泛型實現(xiàn)類型轉(zhuǎn)換的方法實例

    將一個值從一種類型轉(zhuǎn)換到另一種類型,便發(fā)生了類型轉(zhuǎn)換,下面這篇文章主要給大家介紹了關于Golang泛型實現(xiàn)類型轉(zhuǎn)換的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12

最新評論

永善县| 滨海县| 商都县| 洛川县| 衡阳市| 临夏县| 平罗县| 高邑县| 保定市| 邮箱| 海兴县| 博野县| 吉林市| 广灵县| 鄂尔多斯市| 焉耆| 新安县| 贵溪市| 敦化市| 清流县| 津市市| 大安市| 平远县| 内黄县| 奎屯市| 江津市| 朝阳县| 茂名市| 丰台区| 铅山县| 福建省| 天柱县| 繁峙县| 江油市| 榆林市| 呼伦贝尔市| 黔西县| 南丰县| 南投县| 遵化市| 北安市|