中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go語言里切片slice怎么初始化

發布時間:2022-07-18 10:18:04 來源:億速云 閱讀:725 作者:iii 欄目:開發技術

這篇文章主要介紹“Go語言里切片slice怎么初始化”,在日常操作中,相信很多人在Go語言里切片slice怎么初始化問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Go語言里切片slice怎么初始化”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1.切片是基于數組做的一層封裝,靈活能夠自動擴容。

2.切片的初始化方法

①直接創建

Go語言里切片slice怎么初始化

②基于已有的數組或切片

Go語言里切片slice怎么初始化

③使用make來創建一個切片

Go語言里切片slice怎么初始化

第一個5是切片的大小

第二個5是切片的容量

3.基本操作

①獲取元素

Go語言里切片slice怎么初始化

②增加元素append

當達到底層的最大容量,切片會進行擴容,擴容的策略是翻倍擴容。

下圖說明擴容之后,地址也變化了。

Go語言里切片slice怎么初始化

4.切片的修改

和數組(值傳遞)不一樣,切片相當于是一個引用傳遞。

Go語言里切片slice怎么初始化

5.如果計算切片的容量?

例如:b切片的長度和容量是多少?

Go語言里切片slice怎么初始化

答案: 長度為2 容量為7

詳細可以參考下面圖,a、b共用底層切片,但是b是從1開始的,長度為3-1 =2,容量為a其他的底層

Go語言里切片slice怎么初始化

6.切片后面追加切片

func AppendSlice(){
     slice1 := []int{1,2,3}
     slice2 := []int{3,3,6}
 
     slice1 = append(slice1,slice2... )
 
    for _, value := range slice1 {
        fmt.Println("value的地址",value)
    }
 
}

注意一下 append(slice1,slice2... ) 這個...定義就是把slice2展開,放到slice1后面。

到此,關于“Go語言里切片slice怎么初始化”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桂阳县| 宝清县| 松原市| 石柱| 东兰县| 阳原县| 崇义县| 大化| 商河县| 南溪县| 开鲁县| 定州市| 郓城县| 建昌县| 鄂托克旗| 内黄县| 黄陵县| 青田县| 镶黄旗| 苏尼特右旗| 辽宁省| 临洮县| 岑溪市| 江陵县| 肥乡县| 博乐市| 化州市| 交城县| 郴州市| 万全县| 东至县| 金塔县| 伊金霍洛旗| 拉孜县| 鹿邑县| 县级市| 太和县| 屯昌县| 巴楚县| 时尚| 建瓯市|