天天看點

go語言記憶體布局

go語言記憶體布局

go語言的兩類資料類型

1.值類型。包括int string float32 bool struct 數組。

2.引用類型。包括 slice map channel interface 指針。

值類型在指派和傳遞時會複制一份資料

go語言記憶體布局

a和b值相等,但是記憶體位址不一樣。

值類型的記憶體布局

go語言記憶體布局

修改其中的一個值,另一個不會改變。

go語言記憶體布局

引用類型公用一塊記憶體位址。

go語言記憶體布局

s1 和 s2 的記憶體位址相等。

引用類型的記憶體布局。 len 長度 cap 容量

go語言記憶體布局
go語言記憶體布局

切片s2 為{1, 2, 3, 4, 5, 6, 7} 所有它和s1的索引為1的指針位址是相等的。

修改其中的一個值,另一個的值也會改變。

go語言記憶體布局