Go語言9 復合型別 指標

2021-09-08 20:52:32 字數 1213 閱讀 1124

定義描述

指標(記憶體位址)

計算機裡每個記憶體單元的位址碼

指標變數

存放該位址的變數

空指標被定義後沒有分配任何變數的位址的指標

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 指標無需在定義時賦初值。和其他內建型別一樣,在塊作用域內定義的指標如果沒有進行初始化操作,...