package main
import "fmt"
func main() {
fmt.Println(min(1, 2, 3, 0, 4, 5, 6))
//定义切片的其他两种写法 此处的创建方式应该是先创建了一个数组,然后引用该数组的切片
// var slice []int = []int {1,2,3,4,5}
// var slice = []int {1,2,3,4,5}
slice := []int{1, 2, 3, 4, 5}
fmt.Println(min(-1, 0, slice...)) //调用要加 ...
}
func min(a, b int, args ...int) int {
minValue := a
// 观察 for 循环的 range形式 的用法
// 使用for循环遍历切片时,每次迭代返回两个值:第一个为当前元素下标,第二个为当前元素的一份副本
for i, j := range args {
fmt.Println("index=", i, "value=", j)
}
if a > b {
minValue = b
}
for _, j := range args {
if j < minValue {
minValue = j
}
}
return minValue
}
- 上面所出现的关于 使用slice来理解 … 的行为
下面示例:
func f1(args ...string) {
// 观看如何调用args 参数
f2(args...)
f3(args)
}
func f2(args ...string) {}
func f3(args []string)