亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > Golang > 正文

Go語言入門教程之Arrays、Slices、Maps、Range操作簡(jiǎn)明總結(jié)

2020-04-01 19:23:46
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Go語言入門教程之Arrays、Slices、Maps、Range操作簡(jiǎn)明總結(jié),本文直接給出操作代碼,同時(shí)對(duì)代碼加上了詳細(xì)注釋,需要的朋友可以參考下
 

Arrays:數(shù)組

在go語言中數(shù)組array是一組特定長(zhǎng)度的有序的元素集合。

復(fù)制代碼代碼如下:

package main

 

import "fmt"

func main() {

    //這里我們創(chuàng)建了一個(gè)長(zhǎng)度為5的數(shù)組. 這一組數(shù)組的初值是zero-valued。整型就是0
    var a [5]int
    fmt.Println("emp:", a)

    //可以通過array[index] = value語法賦值
    a[4] = 100
    fmt.Println("set:", a)
    fmt.Println("get:", a[4])

    //內(nèi)置的len函數(shù)會(huì)返回?cái)?shù)組長(zhǎng)度
    fmt.Println("len:", len(a))

    //通過這個(gè)語法聲明數(shù)組的默認(rèn)初值
    b := [5]int{1, 2, 3, 4, 5}
    fmt.Println("dcl:", b)

    //數(shù)組類型是一維的,但是你可以通過組合創(chuàng)建多維數(shù)組結(jié)構(gòu)
    var twoD [2][3]int
    for i := 0; i < 2; i++ {
        for j := 0; j < 3; j++ {
            twoD[i][j] = i + j
        }
    }
    fmt.Println("2d: ", twoD)
}


$ go run arrays.go
emp: [0 0 0 0 0]
set: [0 0 0 0 100]
get: 100
len: 5
dcl: [1 2 3 4 5]
2d:  [[0 1 2] [1 2 3]]

 

Slices:切片

Slices是Go語言中的關(guān)鍵數(shù)據(jù)類型,它有比數(shù)組(arrays)更強(qiáng)的訪問接口。

 

復(fù)制代碼代碼如下:

package main

 

import "fmt"

func main() {

    //跟數(shù)組(arrays)不同,slices的類型跟所包含的元素類型一致(不是元素的數(shù)量)。使用內(nèi)置的make命令,構(gòu)建一個(gè)非零的長(zhǎng)度的空slice對(duì)象。這里我們創(chuàng)建了一個(gè)包含了3個(gè)字符的字符串 。(初始化為零值z(mì)ero-valued)
    s := make([]string, 3)
    fmt.Println("emp:", s)

    //我們可以像數(shù)組一樣進(jìn)行設(shè)置和讀取操作。
    s[0] = "a"
    s[1] = "b"
    s[2] = "c"
    fmt.Println("set:", s)
    fmt.Println("get:", s[2])

    //獲取到的長(zhǎng)度就是當(dāng)時(shí)設(shè)置的長(zhǎng)度。
    fmt.Println("len:", len(s))

    //相對(duì)于這些基本的操作,slices支持一些更加復(fù)雜的功能。有一個(gè)就是內(nèi)置的append,可以在現(xiàn)有的slice對(duì)象上添加一個(gè)或多個(gè)值。注意要對(duì)返回的append對(duì)象重新賦值,以獲取最新的添加了元素的slice對(duì)象。
    s = append(s, "d")
    s = append(s, "e", "f")
    fmt.Println("apd:", s)

    //Slices也可以被復(fù)制。這里我們將s復(fù)制到了c,長(zhǎng)度一致。
    c := make([]string, len(s))
    copy(c, s)
    fmt.Println("cpy:", c)

    //Slices支持"slice"操作,語法為slice[low:high](即截取slice中的某段值)。下面這段代碼就會(huì)獲取這些字符: s[2], s[3], 和 s[4]。
    l := s[2:5]
    fmt.Println("sl1:", l)

    //從開始截取到每5個(gè)字符(除了值)
    l = s[:5]
    fmt.Println("sl2:", l)

    //從第二個(gè)(包括)字符開始截取到最后一個(gè)
    l = s[2:]
    fmt.Println("sl3:", l)

    //我們可以將聲明和賦值放在一行。
    t := []string{"g", "h", "i"}
    fmt.Println("dcl:", t)

    //Slices可以被組合成多維數(shù)組。里面一維的slices對(duì)象可以不等長(zhǎng),這一點(diǎn)跟多維數(shù)組不太一樣。
    twoD := make([][]int, 3)
    for i := 0; i < 3; i++ {
        innerLen := i + 1
        twoD[i] = make([]int, innerLen)
        for j := 0; j < innerLen; j++ {
            twoD[i][j] = i + j
        }
    }
    fmt.Println("2d: ", twoD)
}

 

注意slices跟arrays是兩種不同的數(shù)據(jù)類型,但是他們的fmt.Println打印方式很相似。

 

復(fù)制代碼代碼如下:

$ go run slices.go
emp: [  ]
set: [a b c]
get: c
len: 3
apd: [a b c d e f]
cpy: [a b c d e f]
sl1: [c d e]
sl2: [a b c d e]
sl3: [c d e f]
dcl: [g h i]
2d:  [[0] [1 2] [2 3 4]]

 

看看這篇文章,輸看看Go團(tuán)隊(duì)是如何在go中設(shè)計(jì)和實(shí)現(xiàn)slices的。

Maps:鍵值對(duì)

Maps是Go語言中的關(guān)聯(lián)數(shù)據(jù)類型(在其它語言中有時(shí)會(huì)被稱之為哈希表[hashes]或字典[dicts])

復(fù)制代碼代碼如下:

package main

 

import "fmt"

func main() {

    //使用內(nèi)置的make來合建一個(gè)空的map,make(map[鍵類型]值類型)
    m := make(map[string]int)

    //設(shè)置鍵/值對(duì)使用經(jīng)典的 name[key] = val 語法。
    m["k1"] = 7
    m["k2"] = 13

    //打印map會(huì)輸出里面所有的鍵值對(duì)
    fmt.Println("map:", m)

    //獲取某個(gè)鍵的值
    v1 := m["k1"]
    fmt.Println("v1: ", v1)

    //len函數(shù)會(huì)獲取map中鍵/值對(duì)的個(gè)數(shù)
    fmt.Println("len:", len(m))

    //使用內(nèi)置的delete函數(shù)從map中移除鍵/值對(duì)
    delete(m, "k2")
    fmt.Println("map:", m)

    //可選的第二返回值可以指出map中是否包含此鍵的值。避免空值0或""引起的歧義。
    _, prs := m["k2"]
    fmt.Println("prs:", prs)

    //你也可以在一行中完成聲明與賦值
    n := map[string]int{"foo": 1, "bar": 2}
    fmt.Println("map:", n)
}

 

 

注意當(dāng)使用fmt.Println打印時(shí)map的輸出格式為map[k:v k:v]。

 

復(fù)制代碼代碼如下:

$ go run maps.go 
map: map[k1:7 k2:13]
v1:  7
len: 2
map: map[k1:7]
prs: false
map: map[foo:1 bar:2]

 

Range:范圍

range可以在多種數(shù)據(jù)結(jié)構(gòu)上進(jìn)行枚舉。讓我們看看如何在之前的數(shù)據(jù)結(jié)構(gòu)上使用。

 

復(fù)制代碼代碼如下:

package main

 

import "fmt"

func main() {

    //這是我們使用range去求一個(gè)slice的和。使用數(shù)組跟這個(gè)很類似
    nums := []int{2, 3, 4}
    sum := 0
    for _, num := range nums {
        sum += num
    }
    fmt.Println("sum:", sum)

    //在數(shù)組上使用range將傳入index和值兩個(gè)變量。上面那個(gè)例子我們不需要使用該元素的序號(hào),所以我們使用空白符"_"省略了。有時(shí)侯我們確實(shí)需要知道它的索引。
    for i, num := range nums {
        if num == 3 {
            fmt.Println("index:", i)
        }
    }

    //range也可以用在map的鍵值對(duì)上。
    kvs := map[string]string{"a": "apple", "b": "banana"}
    for k, v := range kvs {
        fmt.Printf("%s -> %s/n", k, v)
    }

    //range也可以用來枚舉Unicode字符串。第一個(gè)參數(shù)是字符的索引,第二個(gè)是字符(Unicode的值)本身。
    for i, c := range "go" {
        fmt.Println(i, c)
    }
}


$ go run range.go 
sum: 9
index: 1
a -> apple
b -> banana
0 103
1 111


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
最近2018中文字幕免费在线视频| 日韩欧美电影在线| 成人在线观看91| 婷婷激情四射网| 影音先锋欧美激情| 亚洲成人动漫在线播放| 中文av免费观看| 久久免费区一区二区三波多野| 高潮毛片在线观看| 国产在线观看不卡一区二区三区| 国产裸体视频网站| 狠狠爱www人成狠狠爱综合网| 欧美在线短视频| 成人激情文学综合网| 亚洲高清毛片一区二区| 91麻豆精品成人一区二区| 一本久道久久综合狠狠爱亚洲精品| 欧美日韩精品一区二区视频| 亚洲天堂av高清| 国产精品电影| 欧美日韩激情视频一区二区三区| 真实新婚偷拍xxxxx| 国产玉足榨精视频在线观看| 成年人看的免费视频| 韩日午夜在线资源一区二区| 爱高潮www亚洲精品| h短视频大全在线观看| 午夜视频免费在线观看| 日本18视频网站| 伊人久久大香线蕉综合网站| 日韩欧美三级一区二区| 91在线看黄| 精品综合久久久久| 国产青草视频在线观看| 国产极品尤物在线| 国内免费久久久久久久久久久| 欧美一区二区三区婷婷| 三上悠亚作品在线观看| 激情久久久久久久| aa国产成人| 日韩永久免费视频| 92福利视频午夜1000合集在线观看| mm131亚洲精品| 欧美日韩成人网| 在线a人片免费观看视频| 欧美88av| 国产精品一区二区女厕厕| 欧洲乱码伦视频免费| 国产黄色在线| 激情丁香综合五月| 日韩加勒比系列| 色8久久久久| 亚洲精品有码在线| 在线观看日韩毛片| 最新亚洲人成网站在线观看| 精品欧美一区二区三区久久久| 天天操夜夜草| 久久久蜜桃精品| 亚洲第一中文av| 6080亚洲精品一区二区| 视色视频在线观看| jizz老师| 538在线视频观看| 四虎国产精品免费久久5151| 国产免费久久av| l8videosex性欧美69| 福利在线导航136| 精品国产乱码久久久久久闺蜜| 国产精品50p| 欧美伊人亚洲伊人色综合动图| 精品国产鲁一鲁一区二区张丽| 99免费在线视频| 99久久夜色精品国产亚洲狼| 欧美三级日本三级少妇99| 一级片一级片一级片| 国产精品福利在线观看| 欧美成人黑人猛交| 亚洲成人a级网| 成年女人免费视频| 国产无人区一区二区三区| 国产精品久久久久久久免费观看| 波多野结衣中文字幕一区二区三区| 无码人妻一区二区三区在线视频| 蜜臀视频在线观看| 一区二区三区三区在线| 国产一卡二卡3卡4卡四卡在线| h小视频在线观看网| 神马午夜电影一区二区三区在线观看| 国产精品扒开腿做爽爽爽软件| 美女被c出白浆| 亚洲乱色熟女一区二区三区| 国产成人综合亚洲欧美在| 欧美最猛性xxxxx(亚洲精品)| 美女100%一区| 日本泡妞xxxx免费视频软件| 136福利第一导航国产在线| 精品入口麻豆传煤| 国产精品自拍区| 欧美做爰猛烈大尺度视频| 欧美精品入口| 久久综合九色综合97婷婷| 国产黄色免费网站| 97欧美在线视频| 国产视频精品自拍| 日本韩国一区二区三区视频| 国产视频久久网| 国产日韩在线观看av| 成人污污视频在线观看| 狠狠做深爱婷婷综合一区| 亚洲iv一区二区三区| 你懂的视频在线| 1024精品视频| 91麻豆成人久久精品二区三区| 成人欧美日韩| 懂色av粉嫩av浪潮av| 波多野结衣家庭教师在线观看| 欧美日韩视频免费| 日本一本a高清免费不卡| 欧美一级精品| 久久精品色图| 一区二区三区高清在线视频| 国产特级aaaaaa大片| xxxx在线免费观看| 一本加勒比北条麻妃| 国精产品一区一区三区视频| 亚洲激情一区二区三区| 九九九在线观看视频| 国产精品国产一区二区三区四区| www.色视频| 日本粉色视频在线观看| 日韩电影中文字幕在线观看| 四虎成人精品| 国产一区免费看| 国产不卡一区视频| 国内一区二区在线视频观看| 免费电影视频在线看| 日本视频一区二区三区| 国产亚洲精品美女久久| 国产乱子伦农村叉叉叉| 日韩电影中文字幕在线| 亚洲综合婷婷| 日本韩国欧美在线| 欧美在线极品| 丰满少妇高潮久久三区| 99精品99久久久久久宅男| 99久久久精品视频| 国产精品夜夜爽| 国产一区二区三区四区五区加勒比| 日日摸夜夜夜夜夜添| 国产精品久久999| 最新国产の精品合集bt伙计| 波多野结衣一本| av高清一区二区| 国产伦精品一区二区三区妓女下载| 老司机精品视频导航| 久草视频在线免费看| 国产伦视频一区二区三区| 尤物视频最新网址| 日韩精品在线免费| www.激情五月.com| 51精品国自产在线| 少妇久久久久久被弄高潮| 在线观看xxxx| 亚洲精品自拍网| 日韩人妻无码精品久久久不卡| 日本三级2019| 欧美精彩一区二区三区| 欧美久久综合性欧美| 国产精品自产拍在线观看中文| 国产肉体ⅹxxx137大胆| 一本色道久久综合亚洲精品小说| 中文字幕永久在线| 日本在线视频一区| 日韩av大片在线| 免费污视频在线| 亚洲第一网站免费视频| 国偷自产一区二区免费视频| 欧美三级电影在线播放| 91麻豆成人久久精品二区三区| 精品一区二区三区视频在线播放| 成人黄色a**站在线观看| 国产有码在线观看| 亚洲а∨天堂久久精品2021| 久久亚洲一区| 人人妻人人爽人人澡人人精品| 亚洲av人人澡人人爽人人夜夜| 久久爱www久久做| 制服丝袜在线播放| 色老头一区二区| 一本色道久久综合亚洲精品图片| 天天久久综合| 草莓视频丝瓜在线观看丝瓜18| 91popny丨九色丨国产| 91高潮在线观看| 欧美日韩在线视频观看| 国产成人a v| 精品日韩99亚洲| 99精品视频在线看| 欧美福利一区二区三区| www.日本在线播放| 欧美日韩一区二区在线免费观看| 九色蝌蚪在线| 3d动漫一区二区三区在线观看| www欧美成人18+| 欧美成人午夜免费视在线看片| 91看片淫黄大片一级| 97在线视频国产| 国产乱了高清露脸对白| 免费在线观看的毛片| 午夜精品久久久久久久99樱桃| 欧美日韩高清一区二区三区| 国产精品久久久久久久久免费高清| 永久免费未满蜜桃| 一日本道久久久精品国产| 国产精品尤物| 91精品国产91久久久久久久久| 国产日产欧美一区二区| a视频在线播放| 在线观看黄色av| 亚洲黄网在线观看| 精品视频一区二区三区四区五区| 国产精品草草| 麻豆成人在线| 久久婷婷综合中文字幕| 3751色影院一区二区三区| 秋霞福利视频| 精品一区二区三区四区| 亚洲在线观看视频| 亚洲精品少妇30p| 色综合久久六月婷婷中文字幕| 国模私拍视频在线观看| 国色天香2019中文字幕在线观看| 日本小视频在线免费观看| 国产精品中文字幕一区二区三区| 日韩你懂的在线播放| 日韩免费视频一区二区视频在线观看| 一个人免费观看在线视频www| 午夜不卡视频| 国产精品视区| 日本不卡在线播放| 丝袜足控免费网站xx网站| 亚洲一区第一页| 粉嫩的18在线观看极品精品| 黑人乱码一区二区三区av| 亚洲狼人综合网| 一区二区视频免费在线观看| 国产欧美婷婷中文| wwwwwww色| 亚洲欧美日韩一区成人| 久久婷婷国产综合精品青草| 欧美日韩激情电影| 91麻豆精品国产自产在线| 国产又粗又硬又长又爽| 国产69精品久久久久按摩| 99亚洲乱人伦aⅴ精品| 91麻豆免费在线观看| 欧美日韩一区二区视频在线观看| 国产精品久久久久免费a∨大胸| 成人片在线播放| 国产精品中文字幕久久久| 亚洲伦理在线观看| 久久精品国产av一区二区三区| 中文乱码字幕高清一区二区| 日韩一二在线观看| 久久久久人妻一区精品色欧美| 欧美大片日本大片免费观看| 久久九九精品视频| 青青草久久爱| 天天爱天天操天天干| 亚洲精选在线视频| 午夜成人免费视频| 国产一精品一aⅴ一免费| 麻豆成全视频免费观看在线看| 在线国产视频观看| 无码久久精品国产亚洲av影片| 91视频国产高清| 操人视频91| 爱爱精品视频| 午夜伦全在线观看| 国产女片a归国片aa| 蜜桃免费网站一区二区三区| 久久亚洲av午夜福利精品一区| 欧美一二三在线| 少妇按摩一区二区三区| 999精品嫩草久久久久久99| 成人免费看的视频| 色呦呦日韩精品| 欧美momandson| 一区二区三区四区日本视频| 国产宾馆自拍| 天天综合网久久综合网| 国产99久久九九精品无码免费| 亚洲国产精品成人久久综合一区| 青青影院在线观看| 久久久91精品| 国产91精品久久久久久久网曝门| 午夜偷拍福利视频| 男人网站在线观看| 欧美亚洲国产另类| 久热精品在线观看| 亚洲视频在线一区二区| 1024精品久久久久久久久| 欧美日韩精品久久| 日韩精品久久一区二区三区| 91一区二区在线观看| 日本成人激情视频| 亚洲三级黄色在线观看| 国产精品电影观看| 伊人网在线视频| 日韩一区二区麻豆国产| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 亚洲主播在线| 久久亚洲电影| 好吊日av在线| 亚洲激情视频小说| 亚洲一级少妇| 国产精品免费一区二区三区观看| 国产精品酒店视频| 亚洲女同二女同志奶水| 57pao国产成人免费| 91九色porny视频| 久久国产成人精品| 天天色综合成人网| 国产日韩二区| 欧美性猛交xxxx免费看久久| 欧美亚洲动漫制服丝袜| av 日韩 人妻 黑人 综合 无码| 国产欧美日韩综合精品一区二区三区|