我在一个函数定义中第一次看到go语言"..."的用法。简单学一下,竟然还能这么用!
第一种用法:函数传参
第一个🌰:
func toChaincodeArgs(args ...string) [][]byte { //...表示多个不定参数
bargs := make([][]byte, len(args))
for i, arg := range args {
bargs[i] = []byte(arg)
}
return bargs //参数数组
}
f := "query"
queryArgs := toChaincodeArgs(f, "a") //返回值:["query", "a"]([][]byte)
第二个🌰:
func printSlice(args ...string) { //可以接受任意个string参数
for _, v:= range args{
fmt.Println(v)
}
}
func main(){
var str= []string{
"hahaha",
"123",
"xixixi",
"456",
}
printSlice(str...) //切片被打散传入
}
输出:
hahaha
123
xixixi
456
第二种用法:切片追加
var str1= []string{
"123",
"234",
}
var str2= []string{
"abc",
"bcd",
}
strss=append(str1,str2...) //str2的元素append进str1
fmt.Println(str1) // [123 234 abc bcd]