指针类型
普通类型,变量存的就是值,也就是值类型.指针类型存的是地址
获取变量的地址,用&, 比如 a:=6 获取a的地址:&a
指针类型,变量存的是一个地址,这个地址存的才是值!!
获取指针类型所指向的值,使用:* ,比如: var *p int ,使用*p获取p所向的值
指针初始化:默认值为nil
指针类型变量初始化:
使用其他变量地址给它赋值
使用new分配
测试一:传入一个int类型指针,并在函数中修改所指向的值
func test1(a *int) {
//* 是一个语法糖, *a 就是修改指针值
*a = 100
}
func main() {
var a int =1
//声明b是一个指针类型
var b *int
//& 是一个语法糖, & 就是变量内存地址
//赋值b指针指向a的地址
b = &a
test1(b)
fmt.Printf("%p,%d\n",b,a)
}测试二:
原文:http://blog.51cto.com/12765315/2051394