Golang的语法糖
...
Go语言函数中有三个点 ...
表示为可变参数,这是Go的糖衣语法,表示可以接受任意个数但相同类型的参数。
func print(values...string) { //可以接受任意个string参数
for _, v:= range values{
fmt.Println("---> ",v)
}
}
func main(){
values := []string{"abc", "def", "hig", "klm",}
print(values...)
}
:=
:=
是Go的赋值与声明语法糖,它的功能是声明、赋值和类型推断。
//第一种方法
var number1 number2 number3 int
number1, number2, number3 = 1, 2, 3
//第二种方法
var number1, number2, number3 = 1, 2, 3
//第三种方法
number1, number2, number3 := 1, 2, 3
-
:=
只有在左侧有未定义变量时才能使用(有定义的变量也可以) -
:=
只进行语义上的检查,循环内也可以使用,第一次之后的效果和=相同 -
:=
和 = 都要求左右的值和变量一一对应,不会截断 - 特殊情况,map、chan、类型推定可以返回一个值,也可以是两个值
- 当map中该键不存在时,总是返回零值和false,否则后者返回true
- 当chan关闭以后,总是返回零值和false,否则后者返回true
有疑问加站长微信联系(非本文作者)