go中指针类型
-
普通类行, 变量存的就是值, 也叫值类型
-
获取变量的地址, 用&, 比如: var a int, 获取a的地址: &a
-
指针类型, 变量存的是一个地址, 这个地址存的才是一个值
-
获取指针类型所指向的值吗使用: *, 比如: var p int, 使用p获取p指向的值
-
案列
// 获取一个变量的地址 package main import ( "fmt" ) func main() { var p int fmt.Scanf("%d", &p) fmt.Println(&p) } // 运行结果 5 0xc000080000 // 写一个函数,传入一个int类型的指针,并在函数中修改所指向的值。 // 在main函数中调用这个函数,并把修改前后的值打印到终端,观察结果 package main import ( "fmt" ) func idAddress(p *int) { *p = 3 } func main() { var p int fmt.Scanf("%d", &p) fmt.Println(&p) fmt.Println(p) idAddress(&p) fmt.Println(p) } // 运行结果 5 0xc000084000 5 3