go语言:=的具体使用

Go 语言中新增了一个特殊的运算符:=,这个运算符可以使变量在不声明的情况下直接被赋值使用。其使用方法和带值声明变量类似,只是少了 var 关键字,形如变量名:= 变量值,这样就等于声明了一个带值的变量,该变量的类型与其变量值一致。

  

在 Go 语言中为了使开发更高效,更多的会使用:= 这种 Go 语言独有的赋值方式,一开始使用也许会有些不适应,上手之后简直不要太好用。



小结:=

这个运算符和 = 同样可以进行单变量以及多变量的赋值。需要注意的是,在使用:= 给变量赋值的时候,要看一下这个变量是否已经声明过了,如果声明过了就不需要使用 := 了。



Go 语言中 = 和 := 有什么区别

= 是赋值, := 是声明变量并赋值。



GO 语言中 = 和:= 的区别说明

错误的做法

声明不赋值的初始化值


整型和浮点型变量的默认值为 0,如 var a int,默认 a=0


字符串变量的默认值为空字符串


布尔型变量默认为 bool


切片、函数、指针变量的默认为 nil



使用编译器推导类型


var a=10 // 默认 a 为整型



特殊例子

正确

var conn net.Conn
var err error
conn, err = net.Dial("tcp", "127.0.0.1:8080")
conn, err = net.Dial("tcp", "127.0.0.1:8080")

正确(特殊)

//虽然err重复声明了,但是conn和conn2没有重复声明,只要有一个新声明,不会报错
conn, err := net.Dial("tcp", "127.0.0.1:8080")
conn2, err := net.Dial("tcp", "127.0.0.1:8080")


错误

//重复声明了
conn, err := net.Dial("tcp", "127.0.0.1:8080")
conn, err := net.Dial("tcp", "127.0.0.1:8080")





 1
 0
 分享
评论图片
评论