亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > Golang學習筆記(四):array、slice、map

Golang學習筆記(四):array、slice、map

熱門標簽:百度地圖標注搜索關鍵詞 電梯外呼訪客系統 成都呼叫中心外呼系統平臺 電銷機器人可以補救房產中介嗎 騰訊外呼系統價格 ?兓? 浙江人工智能外呼管理系統 谷歌便利店地圖標注 最短的地圖標注

一.Array

在Go語言中,數組是一個值類型(value type)

所有的值類型變量在賦值和作為參數傳遞時都將產生一個復制動作

如果作為函數的參數類型,則在函數調用時參數發生數據復制,在函數體中無法修改傳入數組的內容

數組相等用 = != 比較,不能用 >

1.聲明賦值

初始化

語法

復制代碼 代碼如下:

var VarName [n]type     // n>=0

e.g.
var a [5]int //[0 0 0 0 0]
var c [2][3]int //二維

var b int = [5]int{1,2,3,4,5} //聲明并初始化

a := [3]int{1,2,3}
b := [10]int{1,2,3} //前三個元素,其他為0
c := [20]int{19:1} //第20個元素初始化為1,其他默認0
d := [...]int{4,5,6} //自動計算長度
e := [...]int{0:1, 1:2, 19:3} //自動推斷

二維數組

復制代碼 代碼如下:

doubleArray := [2][4]int{[4]int{1,2,3,4}, [4]int{5,6,7,8}}
easyArray := [2][4]int{{1,2,3,4}, {1,2,3,4}}

多維 [...][n] 前者可推斷,但是后者必須顯示賦值
數組的長度是該數組類型的一個內置常量

arrLength := len(arr)
注意,數組長度也是類型的一部分,因此不同長度數組為不同類型(內置常量)

即[3]int和[4]int是不同類型,并且數組不能改變長度

數組之間的賦值是值的賦值,即當把一個數組作為參數傳入函數的時候,傳入的其實是該數組的副本(一次復制操作),而不是它的指針,如果要傳入指針,使用slice

2.元素訪問

復制代碼 代碼如下:

for i:=0; i len(array); i++ {
    fmt.Println(i, array[i])
}

for i, v := range array {
    fmt.Println(i, v)
}


可以用new創建數組
復制代碼 代碼如下:

p := new([10]int)

返回一個指向數組的指針
注意區分

指向數組的指針

復制代碼 代碼如下:

a := [100]int{}
var p *[100]int = a

指針數組
復制代碼 代碼如下:

x, y = 1, 2
a := [...]*int{x, y}

二.Slice

數組切片就像一個指向數組的指針,但更復雜,實際上它擁有自己的數據結構,而不僅僅是指針(指向原生數組的指針 + 數組切片中元素個數 + 數組切片已分配的存儲空間)

一個引用類型,總是指向一個底層array,聲明可以向array一樣,只是不需要長度

slice就像一個結構體,包含三個元素

一個指針,指向數組中slice指定的開始位置
長度,即slice的長度
最大長度,也就是slice開始位置到數組的最后位置的長度
1.聲明賦值

通過array創建

復制代碼 代碼如下:

var myArray [10]int = [10]int{1,2,3,4,5,6,7,8,9,10}
var mySlice []int = myArray[:5]

a := [5]int{1,2,3,4,5}
b := a[2:4]
b := a[:4]
b := a[2:]


從數組或已存在的slice再次聲明
復制代碼 代碼如下:

var ar [10]byte {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'}

var a, b []byte
a = ar[2:5]
b = ar[3:5]


直接創建
復制代碼 代碼如下:

myslice1 := make([]int, 5)
myslice2 := make([]int, 5, 10) //初始個數5,預留10個元素的存儲空間
myslice3 := []int{1,2,3,4,5}

2.元素訪問

復制代碼 代碼如下:

for i:=0; ilen(mySlice); i++ {
    fmt.Println(i, mySlice[i])
}

for i, v := range mySlice {
    fmt.Println(i, v)
}

3.其他操作

大小和容量

len獲取slice的長度
cap獲取slice的最大容量

動態增減元素

復制代碼 代碼如下:

append想slice里面追加一個或者多個元素,然后返回一個和slice一樣類型的slice

//append
mySlice = append(mySlice, 1, 2, 3) //增加三個元素
mySlice = append(mySlice, mySlice2) //增加另一個

注意,append會改變slice所引用的數組的內容,從而影響到引用統一數組的其他slice,
     但當slice中沒有剩余空間,此時動態分配新的數組空間返回的slice數組指針將指向這個空間,
     而原數組的內容將保持不變,其他引用此數組的slice不受影響(坑,可能引入bug)

內容復制

復制代碼 代碼如下:

copy,從源slice的src中復制到目標dst,并且返回復制元素的個數
copy(dst, source) //會按短的個數復制

slice1 := []int{1,2,3,4,5}
slice2 := []int{5,4,3}

copy(slice2, slice1) //復制slice1前三個 1 -> 2
copy(slice1, slice2) //復制slice2的前三個 2 -> 1

切片

復制代碼 代碼如下:

默認開始位置0,ar[:n]等價于ar[0:n]
第二個序列默認是數組長度 ar[n:] 等價于 ar[n:len(ar)]
從一個數組直接獲取slice,可以是ar[:]

slice是引用類型,所以當改變其中元素的時候,其他的所有引用都會改變
復制代碼 代碼如下:

aSlice = array[3:7]
bslice = aSlice[:3]

三.Map

Python中字典的概念

map是無序的,長度不固定,內置的len可以用于map,可以方便的修改

1.聲明賦值

復制代碼 代碼如下:

map[keyType]valueType

var m map[string] PersonInfo
m = make(map[string] personInfo[, 100])

var numbers map[string]int
or
numbers := make(map[string]int)
numbers["one"] = 1


初始化一個字典

2.元素訪問

復制代碼 代碼如下:

rating := map[string]float32 {"c":5, "Go":4.5}

csharpRating, ok := rating["C#"]
if ok {
    fmt.Println("get the value")
} else{
    fmt.Println("error")
}


3.基本操作

賦值

復制代碼 代碼如下:

m["1234"] = PersonInfo{}

刪除
復制代碼 代碼如下:

delete(m, "1234")

四.其他

make和new操作

復制代碼 代碼如下:

make用于內建類型(map,slice,channel) 的內存分配。

new用于各種類型的內存分配

new本質上和其他語言中同名函數一樣, new(T)分配了零值填充的T類型的內存空間,并返回其地址,即一個*T類型的值 即,返回一個指針,指向新分配的類型T的零值

make(T, args),只能創建slice,map,channel,并返回一個有初始值(非零值)的T類型,而不是*T。 本質來講,導致這三個類型有所不同的原因是,指向數據結構的引用在使用前必須被初始化

您可能感興趣的文章:
  • golang中sync.Map并發創建、讀取問題實戰記錄
  • Golang map如何生成有序的json數據詳解
  • golang針對map的判斷,刪除操作示例
  • 理解Golang中的數組(array)、切片(slice)和map
  • Golang 語言map底層實現原理解析

標簽:紹興 宜昌 七臺河 雅安 眉山 盤錦 上海 邢臺

巨人網絡通訊聲明:本文標題《Golang學習筆記(四):array、slice、map》,本文關鍵詞  Golang,學習,筆記,四,array,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Golang學習筆記(四):array、slice、map》相關的同類信息!
  • 本頁收集關于Golang學習筆記(四):array、slice、map的相關信息資訊供網民參考!
  • 推薦文章
    日日日夜夜操| 91麻豆精品国产综合久久久| 国产视频一区二区在线播放| 麻豆系列 在线视频| 欧美a免费| 欧美电影免费看大全| 99久久精品国产国产毛片| 精品国产一区二区三区国产馆| 韩国三级视频网站| 日本乱中文字幕系列| 国产精品12| 日韩中文字幕在线观看视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩av成人| 美女免费毛片| 日韩一级黄色片| 九九久久国产精品大片| 成人高清视频在线观看| 99久久网站| 久久国产精品永久免费网站| 欧美大片毛片aaa免费看| 91麻豆国产级在线| 久草免费在线观看| 久久成人亚洲| 久久久久久久网| 一级毛片视频在线观看| 国产伦精品一区二区三区无广告| 九九久久国产精品大片| 国产极品白嫩美女在线观看看| 久久国产一区二区| 免费毛片播放| 精品毛片视频| 国产一区精品| 国产美女在线观看| 精品视频免费看| 九九精品在线播放| 国产综合成人观看在线| 国产一区二区高清视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩中文字幕一区二区不卡| 日韩欧美一及在线播放| 亚洲天堂免费观看| 香蕉视频久久| 欧美大片一区| 欧美激情影院| 日韩av片免费播放| 99色精品| 麻豆系列 在线视频| 国产极品白嫩美女在线观看看| 黄色免费三级| 九九久久国产精品| 久久99中文字幕| 欧美另类videosbestsex视频| 九九精品在线| 亚洲精品久久玖玖玖玖| 四虎久久精品国产| 国产不卡在线看| 亚欧视频在线| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 免费国产一级特黄aa大片在线| 免费的黄视频| 精品国产三级a| 日韩一级黄色| 日本特黄一级| 国产伦精品一区二区三区无广告| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 色综合久久天天综合观看| 夜夜操天天爽| 天天做人人爱夜夜爽2020| 一级毛片视频免费| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 黄色福利| 成人a大片在线观看| 成人高清护士在线播放| 深夜做爰性大片中文| 国产精品123| 免费国产一级特黄aa大片在线| 亚久久伊人精品青青草原2020| 欧美另类videosbestsex视频| 免费国产在线观看不卡| 九九精品久久| 九九热国产视频| 午夜欧美福利| 免费国产在线观看不卡| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 四虎影视库国产精品一区| 久久99这里只有精品国产| 精品视频在线看| 精品久久久久久中文字幕2017| 香蕉视频久久| 午夜久久网| 日本乱中文字幕系列| 黄视频网站免费看| 日本免费乱理伦片在线观看2018| 国产成人精品在线| 亚欧乱色一区二区三区| 九九热国产视频| 精品久久久久久中文字幕一区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久久久久久久免费视频| 精品视频免费在线| 欧美激情一区二区三区视频高清| 国产网站在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产亚洲男人的天堂在线观看| 精品视频在线看| 中文字幕一区二区三区精彩视频| 久久国产影院| 欧美a免费| 你懂的日韩| 国产欧美精品| 国产国语对白一级毛片| 日韩在线观看免费| 欧美另类videosbestsex视频| 日韩在线观看视频网站| 久久久成人影院| 成人影院久久久久久影院| 欧美大片一区| 成人影院一区二区三区| 欧美激情一区二区三区在线| a级精品九九九大片免费看| 久久国产精品只做精品| 国产一级强片在线观看| 成人高清视频在线观看| 欧美电影免费| 欧美爱爱动态| 欧美大片毛片aaa免费看| 成人a级高清视频在线观看| 欧美一级视| 国产国产人免费视频成69堂| 天天做日日爱| 色综合久久久久综合体桃花网| 日韩中文字幕在线亚洲一区| 国产韩国精品一区二区三区| 二级片在线观看| 日韩中文字幕在线播放| 你懂的日韩| 成人a级高清视频在线观看| 免费毛片基地| 四虎久久精品国产| 国产一区精品| 日韩中文字幕在线播放| 久久久成人影院| 日韩免费在线视频| 色综合久久手机在线| 亚洲 激情| 欧美激情一区二区三区在线播放| 欧美激情一区二区三区在线| 久久精品大片| 亚州视频一区二区| 亚欧成人乱码一区二区| 欧美激情一区二区三区视频高清| 久久久久久久久综合影视网| 日韩在线观看视频免费| 久久99这里只有精品国产| 国产高清视频免费| 天天色色色| 国产网站免费视频| 色综合久久天天综线观看| 国产成a人片在线观看视频| 成人高清视频在线观看| 午夜在线观看视频免费 成人| 一级片片| 成人影院久久久久久影院| 亚洲 欧美 91| 欧美激情一区二区三区在线 | 一级毛片视频在线观看| 亚洲第一色在线| 免费毛片播放| 99久久精品国产片| 国产a视频| 国产一区二区精品在线观看| 久久国产影院| 一本伊大人香蕉高清在线观看| 欧美大片a一级毛片视频| 中文字幕一区二区三区精彩视频 | 日本在线www| 四虎论坛| 日日日夜夜操| 精品美女| 韩国毛片免费大片| 国产精品免费精品自在线观看| 精品久久久久久免费影院| 九九久久国产精品大片| 国产亚洲精品成人a在线| 999久久狠狠免费精品| 青青青草影院 | 麻豆系列 在线视频| 国产亚洲精品aaa大片| 免费一级片在线观看| 日韩一级黄色片| 午夜精品国产自在现线拍| 毛片电影网| 精品国产一区二区三区国产馆| 免费毛片基地| 超级乱淫伦动漫| 国产网站免费视频| 99久久精品国产麻豆| 久久久成人网| 一级女性全黄生活片免费|