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

GO語(yǔ)言映射(Map)用法分析

 更新時(shí)間:2014年12月10日 11:18:54   投稿:shichen2014  
這篇文章主要介紹了GO語(yǔ)言映射(Map)用法,以實(shí)例形式較為詳細(xì)的分析了針對(duì)映射的創(chuàng)建、填充、遍歷及修改等操作的技巧,需要的朋友可以參考下

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

映射是一種內(nèi)置的數(shù)據(jù)結(jié)構(gòu),用來保存鍵值對(duì)的無序集合。

(1)映射的創(chuàng)建

make ( map [KeyType] ValueType, initialCapacity )

make ( map [KeyType] ValueType )

map [KeyType ] ValueType {}

map [KeyType ] ValueType { key1 : value1, key2: value2, ... , keyN : valueN}

如下,用4種方式分別創(chuàng)建數(shù)組,其中第一種和第二種的區(qū)別在于,有沒有指定初始容量,不過使用的時(shí)候則無需在意這些,因?yàn)閙ap的本質(zhì)決定了,一旦容量不夠,它會(huì)自動(dòng)擴(kuò)容:

復(fù)制代碼 代碼如下:
func test1() {
    map1 := make(map[string]string, 5)
    map2 := make(map[string]string)
    map3 := map[string]string{}
    map4 := map[string]string{"a": "1", "b": "2", "c": "3"}
    fmt.Println(map1, map2, map3, map4)
}

輸出如下:

map[] map[] map[] map[c:3 a:1 b:2]

(2)映射的填充和遍歷

復(fù)制代碼 代碼如下:
func test2() {
    map1 := make(map[string]string)
    map1["a"] = "1"
    map1["b"] = "2"
    map1["c"] = "3"
    for key, value := range map1 {
        fmt.Printf("%s->%-10s", key, value)
    }
}

如上,數(shù)組的填充使用 map[key] = value 的方式,遍歷映射的時(shí)候,每一項(xiàng)都返回2個(gè)值,鍵和值。結(jié)果如下:

a->1    b->2    c->3   

(3)映射的查找、修改和刪除

復(fù)制代碼 代碼如下:
func test3() {
    map4 := map[string]string{"a": "1", "b": "2", "c": "3"}
    val, exist := map4["a"]
    val2, exist2 := map4["d"]
    fmt.Printf("%v,%v\n", exist, val)
    fmt.Printf("%v,%v\n", exist2, val2)

    map4["a"] = "8" //修改映射和添加映射沒什么區(qū)別
    fmt.Printf("%v\n", map4)

    fmt.Println("刪除b:")
    delete(map4, "b")
    fmt.Printf("%v", map4)
}

map指定key取對(duì)應(yīng)的value時(shí),可以指定返回兩個(gè)值,第一個(gè)是對(duì)應(yīng)的value,第二個(gè)是一個(gè)bool,表示是否有值。如上,“a”肯定有值,"b"肯定沒值。

修改映射和添加映射的操作沒什么區(qū)別,若指定的鍵不存在則創(chuàng)建,否則,修改之。

刪除則是使用go的內(nèi)置函數(shù)delete,輸出如下:

true,1
false,
map[a:8 b:2 c:3]
刪除b:
map[a:8 c:3]

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

相關(guān)文章

  • Go?net?http超時(shí)應(yīng)用場(chǎng)景全面詳解

    Go?net?http超時(shí)應(yīng)用場(chǎng)景全面詳解

    HTTP是一個(gè)復(fù)雜的多階段協(xié)議,因此沒有一個(gè)一刀切的超時(shí)解決方案,在這篇文章中,我將分解您可能需要應(yīng)用超時(shí)的各個(gè)階段,并研究在服務(wù)器端和客戶端上執(zhí)行超時(shí)的不同方法
    2024-01-01
  • Go語(yǔ)言學(xué)習(xí)之循環(huán)語(yǔ)句使用詳解

    Go語(yǔ)言學(xué)習(xí)之循環(huán)語(yǔ)句使用詳解

    這篇文章主要為大家介紹了Go語(yǔ)言中的常用循環(huán)語(yǔ)句的使用,例如:for循環(huán)、for-each、break等,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-04-04
  • Go指針數(shù)組和數(shù)組指針的具體使用

    Go指針數(shù)組和數(shù)組指針的具體使用

    go語(yǔ)言跟c語(yǔ)言一樣,指針數(shù)組和數(shù)組指針概念容易搞混,本文主要介紹了Go指針數(shù)組和數(shù)組指針的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • golang實(shí)現(xiàn)大文件讀取的代碼示例

    golang實(shí)現(xiàn)大文件讀取的代碼示例

    在實(shí)際工作,我們需要讀取大數(shù)據(jù)文件,文件可能上G百G,所以我們不可能一次性的讀取到內(nèi)存,接下來本文給大家介紹了golang實(shí)現(xiàn)大文件讀取的示例,需要的朋友可以參考下
    2024-04-04
  • Golang編寫自定義IP限流中間件的方法詳解

    Golang編寫自定義IP限流中間件的方法詳解

    這篇文章給大家詳細(xì)的介紹了Golang編寫自定義IP限流中間件的方法,文章通過代碼實(shí)例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-09-09
  • golang拼接字符串的5種實(shí)現(xiàn)方式

    golang拼接字符串的5種實(shí)現(xiàn)方式

    文章總結(jié)了五種拼接字符串的方式,包括使用 "+"、strings.Join()、fmt.Sprint、bytes.Buffer 和 strings.Builder,每種方式都有其適用場(chǎng)景和性能特點(diǎn)
    2024-12-12
  • Go項(xiàng)目配置管理神器之viper的介紹與使用詳解

    Go項(xiàng)目配置管理神器之viper的介紹與使用詳解

    viper是一個(gè)完整的?Go應(yīng)用程序的配置解決方案,它被設(shè)計(jì)為在應(yīng)用程序中工作,并能處理所有類型的配置需求和格式,下面這篇文章主要給大家介紹了關(guān)于Go項(xiàng)目配置管理神器之viper的介紹與使用,需要的朋友可以參考下
    2023-02-02
  • golang 通用Contains方法分享

    golang 通用Contains方法分享

    這篇文章主要介紹了golang 通用Contains方法分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 深入淺析Go中三個(gè)點(diǎn)(...)用法

    深入淺析Go中三個(gè)點(diǎn)(...)用法

    這篇文章主要介紹了深入淺析Go中三個(gè)點(diǎn)(...)用法,需要的朋友可以參考下
    2021-10-10
  • 解析Golang中的GoPath和GoModule

    解析Golang中的GoPath和GoModule

    在Golang中,有兩個(gè)概念非常容易弄錯(cuò),第一個(gè)就是GoPath,第二個(gè)則是GoModule,很多初學(xué)者不清楚這兩者之間的關(guān)系,也就難以清晰地了解項(xiàng)目的整體結(jié)構(gòu),今天通過本文給大家介紹下Golang中的GoPath和GoModule相關(guān)知識(shí),感興趣的朋友一起看看吧
    2022-02-02

最新評(píng)論

平原县| 乌鲁木齐县| 镇雄县| 沂南县| 布拖县| 萝北县| 南郑县| 柳林县| 盐山县| 高雄县| 叶城县| 江达县| 武定县| 千阳县| 周口市| 凌源市| 永昌县| 永新县| 大庆市| 萨嘎县| 东兴市| 德清县| 军事| 汕头市| 理塘县| 穆棱市| 丁青县| 崇仁县| 靖州| 开平市| 桓台县| 南陵县| 若羌县| 台安县| 昭平县| 南皮县| 当涂县| 崇阳县| 隆昌县| 建水县| 哈密市|