Golang中的三个点
程序员文章站
2022-03-23 19:01:55
之前提到了把一个切片追加到另外一个切片时使用到了... 今天我们好好研究一下这三个点,博客写着写着又成了,回字有四种写法 ...第一种用法,可变长的参数 第9行代码定义了一个Sum函数,使用了一个可变长的参数numbers。我们在调用的时候,可以传入任意个指定类型的参数。 ...第二种用法,使用sl ......
之前提到了把一个切片追加到另外一个切片时使用到了...
今天我们好好研究一下这三个点,博客写着写着又成了,回字有四种写法
...第一种用法,可变长的参数
1 package main 2 3 import "fmt" 4 5 func main() { 6 fmt.println(sum(1, 4, 6, 7)) 7 } 8 9 func sum(numbers ...int) int { 10 result := 0 11 for _, n := range numbers { 12 result += n 13 } 14 return result 15 }
第9行代码定义了一个sum函数,使用了一个可变长的参数numbers。我们在调用的时候,可以传入任意个指定类型的参数。
...第二种用法,使用slice调用上面的函数
1 package main 2 3 import "fmt" 4 5 func main() { 6 fmt.println(sum(1, 4, 6, 7)) 7 fmt.println(sum([]int{2, 3, 5}...)) 8 } 9 10 func sum(numbers ...int) int { 11 result := 0 12 for _, n := range numbers { 13 result += n 14 } 15 return result 16 }
这样就不需要一个一个的把slice的元素打出来了
...第三种用法,略写数组的长度
a := [...]int{1, 3, 6}
...第四种用法,把一个切片追加到另外一个切片
6 a := [...]string{"a", "b", "c", "d", "e"} 7 b := a[1:2] 8 fmt.printf("length of slice %d capacity %d\n", len(b), cap(b)) //length is 1 and capacity is 4 9 b = append(b, "x", "y", "z", "m", "n") 10 fmt.printf("length of slice %d capacity %d\n", len(b), cap(b)) //length is 1 and capacity is 8
上一篇: JSON语法之JSON字符串
下一篇: 序列化问题