您现在的位置是:首页 > 文章详情

Go基础(复杂类型):指针

日期:2018-05-20点击:382

Go语言指针

Go 具有指针。 指针保存了变量的内存地址。


  • 类型 *T 是指向类型 T 的值的指针。其零值是 nil
var p *int
  • & 符号会生成一个指向其作用对象的指针。
i := 42 p = &i
  • * 符号表示指针指向的底层的值。
fmt.Println(*p) // 通过指针 p 读取 i *p = 21 // 通过指针 p 设置 i

这也就是通常所说的“间接引用”或“非直接引用”。

与 C 不同,Go 没有指针运算。

例如以下的例子:

package main import "fmt" func main() { //定义一个变量i等于42 i := 42 //方式一 //&i指针,生成一个指针,指向作用对象i p := &i //*T符号表示指针指向的底层的值 fmt.Println(*p) //通过这个指针去操作i,去改变i的值 *p = 21 fmt.Println(i) //定义一个变量j,值为2701 j := 2701 //方式二 //&i指针,生成一个指针,指向作用对象i //*p(除后的值) = *p(2701)/37 p = &j *p = *p/37 fmt.Println(j) }

输出结果:

42 21 73

好啦,指针的学习就到此结束啦。

原文链接:https://yq.aliyun.com/articles/614491
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章