在Golang中,指針可以用來引用變量的內存地址。要聲明一個指針,可以使用*
符號,例如:
var x int = 10
var ptr *int // 定義一個int類型的指針
ptr = &x // 將x的內存地址賦值給ptr
要訪問指針指向的值,可以使用*
符號來解引用指針,例如:
fmt.Println(*ptr) // 輸出指針ptr所指向的值
還可以通過指針來修改變量的值,例如:
*ptr = 20 // 修改ptr所指向的值
fmt.Println(x) // 輸出x的值,現在為20
需要注意的是,在Golang中,指針的零值是nil
,所以在聲明指針時,如果沒有給指針賦值,它的值會是nil
。另外,Golang中也提供了new
函數來創建指針并初始化為零值,例如:
ptr := new(int) // 創建一個int類型的指針并初始化為零值
*ptr = 5 // 給指針所指向的變量賦值
fmt.Println(*ptr) // 輸出5