[Journey with golang] 7. Traps
golang语法简单,类型系统短小精悍,但也不是完美无瑕的。golang也有一些特性让初学者感到困惑。本文介绍golang的语言陷阱,并介绍golang源码书写的惯用方法。
golang支持多值赋值,在函数或方法内部也支持短变量声明并复制,同时golang依据类型字面量的值能够自动进行类型推断。可以一次性声明多个变量,并可以在声明时赋值,而且可以省略类型,但必须遵守一定的规则要求。具体看下面的示例:
package main import "fmt" func main() { // 相同类型的变量可以在末尾加上类型 var a, b int = 1, 2 // 如果不带上类型,编译器可以自动推断 var c, d, e = "haha", 3.14, 2 // 不同类型的变量声明和隐式初始化可以使用如下语法 var ( x int y string ) // 注意,多值赋值语句中每个变量后面都不能带上类型 fmt.Println(a, b, c, d, e, x, y) }
多值赋值有两种格式。一种是右边是一个返回多值的表达式,可以说返回多值的函数调用,也可以是range对map、slice等函数的操作,还可以是类型断言。
相关推荐
GoatSucker 2020-11-23
CoderToy 2020-11-16
蛰脚踝的天蝎 2020-11-10
ZGCdemo 2020-11-09
86193952 2020-10-27
Lzs 2020-10-23
hjr 2020-10-21
HELLOBOY 2020-10-21
qidiantianxia 2020-10-21
cmsmdn 2020-10-21
myspace 2020-10-21
笑面依旧 2020-10-21
专注前端开发 2020-10-21
技术之博大精深 2020-10-16
zhushenghan 2020-11-09
风雨断肠人 2020-10-13
xuguiyi00 2020-11-04
sichenglain 2020-10-27