golang 碎片整理 之 指针

栏目: C · 发布时间: 7年前

内容简介:golang中保留了C中的值和指针的区别,但对于指针的繁琐用法进行了简化,引入了"引用"的概念,所以在go语言中,你不用担心因为直接操作内存而引起各式各样的错误。运算符只有 & 和 ,一个是取地址一个是取值(解析地址)。output:

golang中保留了C中的值和指针的区别,但对于指针的繁琐用法进行了简化,引入了"引用"的概念,所以在 go 语言中,你不用担心因为直接操作内存而引起各式各样的错误。

运算符只有 & 和 ,一个是取地址一个是取值(解析地址)。

func main(){
    var i int
    i = 1
    var p *int
    p = &i
    fmt.Printf("i=%d,p=%d,*p=%d\n",i,p,*p)
    *p =2
    fmt.Printf("i=%d,p=%d,*p=%d\n",i,p,*p)
    i = 3
    fmt.Printf("i=%d,p=%d,*p=%d\n",i,p,*p)
}

output:

i=1,p=824634302464,

p=1

p=2

i=3,p=824634302464,*p=3

type abc struct{
    v int
}
func (a abc)aaa(){
    a.v = 1
    fmt.Printf("1:%d\n",a.v)
}
func (a *abc)bbb(){
    fmt.Printf("2:%d\n",a.v)
    a.v = 2
    fmt.Printf("3:%d\n",a.v)
}
func (a *abc)ccc(){
    fmt.Printf("4:%d\n",a.v)
}
func main(){
    aobj:=abc{}
    aobj.aaa()
    aobj.bbb()
    aobj.ccc()
}

output:

1:1

2:0

3:2

4:2


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

轻资产创业

轻资产创业

蔡余杰 / 广东人民出版社 / 2017-11 / 45.00元

在互联网时代,资金和资源已经不是制约创业的关键因素。如今即便没有充足的资金和资产做后盾,创业梦依旧可以成为现实。相信轻资产创业模式能够帮助众多经营管理者和创业者实现管理与创业的梦想。 轻资产创业存在误区,如何跨过? 如何巧用四大模式让自媒体创业落地? 如何用一个点子引发创意型创业? 如何利用电商平台实现流量为王的营销型创业? 如何巧用知识节点做好知识产型创业? ......一起来看看 《轻资产创业》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具