有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
红线内的部分,三个点是什么语法?
如何函数接受的参数类型为不定长参数,调用此函数时想传入切片,则需这样操作。本人理解意思是将切片转为不定长参数。
不定长,回去看下语法知识吧
//打印所有传入的str func printAllString(str... string){ fmt.Println(str) } func main (){ lst := []string{"我","看","好","你"} printAllString(lst...) //将lst展开传入 }
省略号是go的语法糖,两个作用,一个是接收不定长参数,另一个是传参时将数组展开成一个个元素。
不定参数。。。
args:=[] interface{}{}这句代码中[] interface{},表示变量args是个空接口切片,第二个{}表示对变量初始化为空。 cmd :=redis.NesStringCmd(args...),这句代码中args...表示的是切片做可变参数。具体可以参考文章:https://blog.csdn.net/cbmljs/article/details/83420295。这里对可变参函数做了详细的介绍,可以参考下,希望对你有用。
定义时是不定长参数,传参时是数组展开
https://studygolang.com/articles/12173
感谢大佬~~~这个文章非常易懂
`单行代码`
红线内的部分,三个点是什么语法?
如何函数接受的参数类型为不定长参数,调用此函数时想传入切片,则需这样操作。本人理解意思是将切片转为不定长参数。
不定长,回去看下语法知识吧
省略号是go的语法糖,两个作用,一个是接收不定长参数,另一个是传参时将数组展开成一个个元素。
不定参数。。。
args:=[] interface{}{}这句代码中[] interface{},表示变量args是个空接口切片,第二个{}表示对变量初始化为空。 cmd :=redis.NesStringCmd(args...),这句代码中args...表示的是切片做可变参数。具体可以参考文章:https://blog.csdn.net/cbmljs/article/details/83420295。这里对可变参函数做了详细的介绍,可以参考下,希望对你有用。
定义时是不定长参数,传参时是数组展开
https://studygolang.com/articles/12173
感谢大佬~~~这个文章非常易懂