标签:运算符 操作 指针 amp code 解析 type 引用 简化
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
标签:运算符 操作 指针 amp code 解析 type 引用 简化
原文地址:https://blog.51cto.com/13766835/2388447