七、GO語言值類型和引用類型

值類型和引用類型的說明

1.值類型:基本數據類型int系列,float系列,bool,string,數組和結構體struct

2.引用類型:指針,slice切片、map、管道chan、interface等都是引用類型

 

值類型和引用類型的特點

1.值類型:變量直接存儲值,內存通常在棧中分配

2.引用類型:變量存儲的值是一個內存地址,這個內存地址對應的空間纔是真正存儲數據(值),內存通常在堆上分配(也有可能會被分配在棧上),當沒有任何變量引用這個地址時,改地址對應的數據空間就成爲一個垃圾,由GC來回收。

 

簡單來理解

  假設在廚房中有大大小小的各種罐子

  值類型是把東西放在一個罐子裏,通過變量可以知道這個罐子的擺放位置,罐子裏面的東西就是值,

  引用類型也是把東西放在一個罐子裏,變量名也同樣代表的是這個罐子擺放的位置,罐子裏面的東西(值)是另外一個罐子的擺放位置。

  這裏面說的值就是我們在開發當中實際使用到的內容,比如說var a = 100,var b = "張三",這裏的100和張三就是罐子的值。不同的是引用類型有兩個罐子,前面那個管子裏面存的值是後面那個罐子的擺放位置,後面那個罐子裏的值纔是100或者張三

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章