Go pointer符號用法整理。
參考「Golang Pointers 指標簡單範例」,對*
與&
的用法再做個整理方便查看。
main.go
package main
import "fmt"
func main() {
i := 3 // i is value
p := &i // p is pointer
v := *p // v is value
pp := &p // pp is pointer to pointer
fmt.Println(i) // 3
fmt.Println(p) // 0xc000016098
fmt.Println(v) // 3
fmt.Println(pp) // 0xc00000e028
var sp *string // sp is pointer
fmt.Println(sp) // nil
s := "hello"
sp = &s
vs := *sp
fmt.Println(s) // hello
fmt.Println(sp) // 0xc000096210
fmt.Println(vs) // hello
}
沒有留言:
張貼留言