定義描述
指標(記憶體位址)
計算機裡每個記憶體單元的位址碼
指標變數
存放該位址的變數
空指標被定義後沒有分配任何變數的位址的指標
2.1 指標變數的宣告
var ptr *type
2.2指標變數的使用流程
指標變數的宣告--->為指標變數賦值--->訪問指標變數中位址指向的值
package main
import "fmt"
func main()
new 函式是乙個用來分配記憶體的內建函式。
func new(type) *type
注:a.new函式並不初始化記憶體,只是將其置零;
b.傳如引數是型別,不是值
c.返回的是指向新分配該型別的零值指標(*type),即這塊記憶體空間的位址。
package main
import "fmt"
func main()
a.當呼叫函式時實參是記憶體位址,則自定義函式的形參型別是指標變數。
b.在自定義函式時對形參所對應的值進行修改,此時所對應的實參記憶體空間 存放的資料內容也會相應的改變。
package main
import "fmt"
func swap(x, y *int)
func main()
a = 20
b = 10
5.1指向指標的指標變數
乙個指標變數存放的是另乙個指標變數的位址
5.2 指向指標的指標變數的宣告格式
var ptr **type
package main
import "fmt"
func main()
go 復合型別
1.陣列 1 陣列是擁有固定長度且擁有零個或者多個相同資料型別元素的序列。2 初始值預設為元素型別的零值 3 如果 出現在陣列長度的位置,則陣列的長度由初始化陣列的元素個數決定 4 陣列長度是陣列型別的一部分,3 int 和 4 int 是不同的型別,不能互相賦值 也就是說陣列長度在編譯時就已經確定...
GO 復合型別 切片
相當於長度可以擴張的陣列 經過陣列擷取的片段就是切片 func main01 擷取陣列的前9位 slice array 0 9 fmt.printf array的資料型別是 t n array fmt.printf slice的資料型別是 t,值是 v n slice,slice 下標為0開始擷取5...
復合型別之指標
指標的含義 指標是 指向 另外一種型別的復合型別。與引用類似,指標也實現了對其他物件的間接訪問。指標和引用的區別 1 指標是乙個物件,允許對指標賦值和拷貝,而且指標在其生命週期內可以先後指向幾個不同的物件 2 指標無需在定義時賦初值。和其他內建型別一樣,在塊作用域內定義的指標如果沒有進行初始化操作,...