天天看點

golang中的切片

1. 切片中追加資料,如果沒有擴容,記憶體位址不發生變化

golang中的切片

2.  切片中追加資料,如果需要擴容的話,記憶體中就會拷貝一份出來,記憶體位址也就發生了變化

golang中的切片

注意:擴容前和擴容後記憶體位址是不同的。

 3. 切片中的常見操作

  

 4.  嵌套

5. 變量指派到底指派資料嗎?

(1)不可修改類型

(2)可變類型

  總結:目前所學的所有資料類型中,在修改切片的内部元素時,會造成所有的指派的變量同時修改(不擴容)

  擴充:"引用類型和值類型",官方不建議這麼說,如果這樣了解的話:切片是引用類型,整型、布爾、浮點型、字元串、數組都是值類型。

6. 切片練習題

7. 切片和數組的差別?

(1)切片使用變量指派的時候,兩個切片變量使用的是同一塊資料記憶體,而數組使用變量指派的時候,兩個數組變量使用的是不同記憶體

(2)數組是定長的,而切片是可變長的動态數組,而且切片定義時可以指定長度和容量

8. new和make的卻别?

(1)new傳回的是一個指針,而make傳回的是一個對象

(2)new也幫助我們進行了初始化,整型初始化值是0,而make在它的内部也可以設定預設長度和預設容量。