golang碎片整理之指针-创新互联
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
i=2,p=824634302464,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
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
网站标题:golang碎片整理之指针-创新互联
文章起源:http://pwwzsj.com/article/dggdoe.html