go语言之三个点用法
1 函数可变数量参数
示例:
package main
import "fmt"
func main() {
//multiParam 可以接受可变数量的参数
multiParam("jerry", "herry")
names := []string{"jerry", "herry"}
multiParam(names...)
}
func multiParam(args ...string) {
//接受的参数放在args数组中
for _, e := range args {
fmt.Println(e)
}
}
可变参数是函数最右边的参数,普通参数放在左侧,如:
package main
import "fmt"
func main() {
//multiParam 可以接受可变数量的参数
multiParam("jerry", 1)
multiParam("php", 1, 2)
}
func multiParam(name string, args ...int) {
fmt.Println(name)
//参数放在args切片中
for _, e := range args {
fmt.Println(e)
}
}
2 展开slice
如上例中将names打散展开,还有种情况就是通过append合并两个slice:
stooges := []string{"Moe", "Larry", "Curly"}
lang := []string{"php", "golang", "java"}
stooges = append(stooges, lang...)
fmt.Println(stooges)
3 数组元素数量
如果忽略数组[]中的数字不设置大小,...指定的长度等于数组中元素的数量,Go语言会根据元素的个数设置数组的大小。
stooges := [...]string{"Moe", "Larry", "Curly"} //等价于stooges := [3]string{"Moe", "Larry", "Curly"}
arr := [...]int{1, 2, 3}
fmt.Println(len(stooges))
fmt.Println(len(arr))
4 go命令
go描述软件包列表时,命令使用三个点作为通配符。
此命令测试当前目录及其子目录的所有软件包:
go test ./...
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至yj.mapple@gmail.com
文章标题:go语言之三个点用法
文章字数:345
本文作者:melonshell
发布时间:2020-03-27, 15:42:15
最后更新:2020-03-27, 16:29:58
原始链接:http://melonshell.github.io/2020/03/27/go11_3dot/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。