宣告變數 var x int 表示式&x(x的位址)獲取乙個指向整型變數的指標,它的型別是整型指標(*int)。
如果指標的值叫做p,我們說p指向x, 或p包含x的位址。
p指向的變數寫成*p, 表示式*p表示獲取變數的值,乙個整型。
*p代表乙個變數,可以出現在賦值操作符左邊,用於更新變數的值。
x := 1
p := &x //p是乙個指向變數x位址的指標
fmt.println(*p) //*p,獲取指標p指向的變數的值,即x的值
*p = 2 //即x = 2, 通過指標p改變變數x的值
fmt.println(x) //輸出2
結構體的成員或陣列的元素都是變數。
指標型別的零值是nil,測試 p != nil,結果true,說明p指向乙個變數。
兩個指標當前僅當指向同乙個變數或者兩者都是nil,才相等。
type dog struct
func (dog *dog) setname(name string)
對於基本型別dog來說,*dog就是它的指標型別。而對於乙個dog型別,值不為nil的變數dog,取址表示式&dog的結果就是該變數的值(也就是基本值)的指標值。
如果乙個方法的接收者是*dog型別的,那麼該方法就是基本型別dog的乙個指標方法。
在這種情況下,這個方法的接收者實際上就是當前的基本值的指標值。我們可以通過指標值無縫地訪問到基本值包含的任何字段以及呼叫與之關聯的任何方法.
從傳統意義上說,指標是乙個指向某個確切的記憶體位址的值。這個記憶體位址可以是任何資料或**的起始位址,比如,某個變數、某個欄位或某個函式。
go學習筆記 2指標
go 語言中指標是很容易學習的,go 語言中使用指標可以更簡單的執行一些任務。接下來讓我們來一步步學習 go 語言指標。我們都知道,變數是一種使用方便的佔位符,用於引用計算機記憶體位址。go 語言的取位址符是 放到乙個變數前使用就會返回相應變數的記憶體位址。執行以上 輸出結果為 現在我們已經了解了什...
Go語言學習筆記 十一 之指標
變數和記憶體位址 1.每個變數都有記憶體位址,可以說通過變數來操作對應大小的記憶體,符號可以獲取變數的位址1 var a int322 a 1003 fmt.printf d n a 4 fmt.printf p n a 1 1002 0xc00004a058 2.普通變數儲存的是對應型別的值,這些...
Go學習筆記
使用關鍵字var定義變數,自動初始化為零值。如果提供初始化值,可省略變數型別。在函式內部,可用更簡略的 方式定義變數。空白符號 package main import fmt func test 2,0 函式內部 定義變數陣列data 0 data 1 data 2 並賦值0,1,2,且i 0 i,...