Pointer
指標/ 指针/Pointer
指標
宣告指標
範例
var p *int
+//指標只能儲存 int 變數的記憶體位址
var p *string
- fmt.Println("p = ", p, "&=", &p) //p = <nil> 指標的零值為 nil ,不可以印*p=nil
+ person := new(string) //用new拿到宣告指標,初始值根據type
fmt.Println("person:", person, "*=", *person, "&=", &person)
*person = "11"
+ // & 運算子取得變數的位址
+ // * 運算子來存取儲存在指標所指向的變數中的值
fmt.Println("person:", person, "*=", *person, "&=", &person)
- person2 := "string" //非指標
fmt.Println("person2:", person2, "&=", &person2)
- //fmt.Println("person:%v", *person2) //cannot indirect person2
+ person = &person2 //指標是一個變數,可以用來儲存另一個變數的記憶體位址
fmt.Println("person:", person, *person, &person)
+ //如果是指標字串內容比對記得用*比對
ref
Last updated