Go之语法糖(syntactic sugar)

在函数的不定参数的使用情况,主要是在使用——语法糖(syntactic sugar)。

func myFunc1(args  ...int){
    for _,arg:=range args{
        fmt.Println(arg)
    }

}
func myFunc2(args  []int){
    for _,arg:=range args{
        fmt.Println(arg)
    }

}

myFunc1中就是使用的语法糖,按照它的内部机理来说,…type本质上是一个数组切片,也就是[]type,这也就是上面的参数args可以使用for循环来获取每一个传入的参数。
虽然myFunc2也实现了不定参数的功能,但是使用起来远不是那么简单。打个比方把
对于myFunc1来说调用它如下代码:
myFunc1(2,3,4)
而对于myFunc2来说调用它却是如下代码:
myFunc2([]int{2,3,4}),
我们不得不使用[]int{}构造一个数组切片实例,对于追求简约和美感的程序员来说,这种没有语法糖的写法是麻烦的。

你可能感兴趣的:(Go编程)