Go 指针
-
基本数据类型,变量存的是一个值,基本数据类型也叫做值类型。
-
获取变量的内存地址,我们可以使用
&符号,例如:var num int = 10 fmt.Println("num =", &num)# clover @ MacBook-Pro in ~/dev/go/learn/src/go_code/learn/pointer [20:52:39] $ go run main.go num = 0xc0000180a8 -
指针类型,
*T类型就是一个指针,指针变量存的是一个地址,这个地址指向的空间存的才是真正的值,例如:var num int = 10 var prt *int = &num所谓的指针,其实就是一个存了其它变量内存地址的变量,例如以上代码
假设:num 内存地址是 0xc0000180a8,prt 内存地址是 0xc000012028 prt: 0xc000012028 --> 0xc0000180a8 --> 10 -
如果需要获取指针类型所指的指,可以使用
*符号来取var num int = 10 var prt *int = &num fmt.Println("prt =", *prt)# clover @ MacBook-Pro in ~/dev/go/learn/src/go_code/learn/pointer [21:07:38] $ go run main.go prt = 10
指针的简单用法:
var num int = 9
var prt *int = &num
*prt = 10
fmt.Println(num) // 这里输出10而不是原先的9

浙公网安备 33010602011771号