一、Golang 中的指针
指针存储的是另一个变量的内存地址。
通过指针修改值会影响到原来的值。
package main import ( "fmt" ) func main() { a := 10 p := &a fmt.Println(p) fmt.Println(*p) *p = 30 fmt.Println(a) }
输出:
0xc000012080 10 30
如何去改变一个指针对应的地址的值:
package main import ( "fmt" ) func fn1(x int) { x = 10 } func fn2(x *int) { *x = 40 } func main() { var a = 10 fn1(a) fmt.Println(a) fn2(&a) fmt.Println(a) }
输出:
10 40