码迷,mamicode.com
首页 > 其他好文 > 详细

[Journey with golang] 7. Traps

时间:2020-01-31 18:35:40      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:初学者   完美   规则   依据   函数调用   code   赋值语句   var   int   

golang语法简单,类型系统短小精悍,但也不是完美无瑕的。golang也有一些特性让初学者感到困惑。本文介绍golang的语言陷阱,并介绍golang源码书写的惯用方法。

golang支持多值赋值,在函数或方法内部也支持短变量声明并复制,同时golang依据类型字面量的值能够自动进行类型推断。可以一次性声明多个变量,并可以在声明时赋值,而且可以省略类型,但必须遵守一定的规则要求。具体看下面的示例:

 1 package main
 2 
 3 import "fmt"
 4 
 5 func main() {
 6     // 相同类型的变量可以在末尾加上类型
 7     var a, b int = 1, 2
 8     // 如果不带上类型,编译器可以自动推断
 9     var c, d, e = "haha", 3.14, 2
10     // 不同类型的变量声明和隐式初始化可以使用如下语法
11     var (
12         x int
13         y string
14     )
15     // 注意,多值赋值语句中每个变量后面都不能带上类型
16     fmt.Println(a, b, c, d, e, x, y)
17 }

多值赋值有两种格式。一种是右边是一个返回多值的表达式,可以说返回多值的函数调用,也可以是range对map、slice等函数的操作,还可以是类型断言。

[Journey with golang] 7. Traps

标签:初学者   完美   规则   依据   函数调用   code   赋值语句   var   int   

原文地址:https://www.cnblogs.com/JHSeng/p/12246120.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!