在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1、分类
2、指针 指针是一个代表着某个内存地址的值。这个内存地址往往是在内存中存储的另一个变量的值的起始位置。Go语言对指针的支持介于Java语言和C/C++语言之间,它既没有想Java语言那样取消了代码对指针的直接操作的能力,也避免了C/C++语言中由于对指针的滥用而造成的安全和可靠性问题。
Go语言虽然保留了指针,但与其它编程语言不同的是:
示例: package main //必须有个main包 import "fmt" func main() { var a int = 10 //每个变量有2层含义:变量的内存,变量的地址 fmt.Printf("a = %d\n", a) //变量的内存 fmt.Printf("&a = %v\n", &a) //保存某个变量的地址,需要指针类型 *int 保存int的地址, **int 保存 *int 地址 //声明(定义), 定义只是特殊的声明 //定义一个变量p, 类型为*int var p *int p = &a //指针变量指向谁,就把谁的地址赋值给指针变量 fmt.Printf("p = %v, &a = %v\n", p, &a) //%v 自动配置类型 *p = 666 //*p操作的不是p的内存,是p所指向的内存(就是a) fmt.Printf("*p = %v, a = %v\n", *p, a) } #执行结果: a = 10 &a = 0xc00000c198 p = 0xc00000c198, &a = 0xc00000c198 *p = 666, a = 666
|
请发表评论