标签:io ar 问题 div 代码 amp new type
go的变量声明有几种方式:
1 通过关键字 var 进行声明
例如:var i int 然后进行赋值操作 i = 5
2 最简单的,通过符号 := 进行声明和赋值
例如: i:=5 golang会默认它的类型
下面看一段代码,我们先声明一个变量a,然后再重新声明变量a,b,在这个函数中,变量a被声明了2次,成为a的重声明(redeclare),执行结果为23
package main
import (
"fmt"
)
func main(){
a:=1
a,b:=2,3
fmt.Println(a,b)
}
精彩的部分来了,请看第二段代码
package main
import (
"fmt"
)
type A struct{
i int
}
func main(){
testA:=&A{}
testA.i=1
testA.i,b:=2,3
fmt.Println(testA.i,b)
}
我们定义了一个简单的结构体A,A中的成员变量为i,我们在testA.i,b:=2,3对成员变量进行了新的声明和赋值,执行会报错。
原因:这个问题Google上是有过讨论的
go的变量redeclare的问题,golang的一个小坑,布布扣,bubuko.com
标签:io ar 问题 div 代码 amp new type
原文地址:http://www.cnblogs.com/liangDream/p/3909968.html