Go是强类型的语言,如果学过python我们知道可以通过*和**对字典或者列表进行解包,这样极大地方便了我们的一些操作.那么对于强类型语言的Go,有没有一种类似的方式方便我们的操作呢,那就引出了我们今天所要说的…解包方法.
用法一:函数接收不定数量的参数
package main
import "fmt"
func main() {
MultiInput("test1", "test2", "test3")
}
// args是用于接收参数的数组
func MultiInput(args ...string) {
fmt.Println(args)
}
输出为
同理,我们也可以解包切片作为参数传入
用法二:解包切片
package main
import "fmt"
// ...作为解包参数
func main() {
lst := []string{"test1", "test2", "test3"}
MultiInput(lst...)
}
// args是用于接收参数的数组
func MultiInput(args ...string) {
fmt.Println(args)
}
实用案例
把一个数组append到另外一个数组后边
由于append接收参数情况如下
我们无法直接向一个切片后边加入一个切片
这时候我们就需要解包数组为单个element
package main
import "fmt"
func main() {
lst := make([]string, 0)
lst2 := []string{"test1", "test2", "test3"}
lst = append(lst, lst2...)
fmt.Println(lst)
}
输出为
…三个点的基本用法到此就讲完了,谢谢大家观看!