package main
import "fmt"
func main() {
var p = []int{1, 2, 3, 4, 10, 8}
fucnBian(1, p)
for i, v := range p {
fmt.Printf("第%d,是%d\n", i, v)
}
}
func fucnBian(m int, s ...[]int) {
for i, v := range s {
m = 1
fmt.Printf("第%d,是%d\n", i, v)
}
}
###输出结果如下:
###//写成函数后输出的值
###第0,是[1 2 3 4 10 8]
###//for range循环输出的值
###第0,是1
###第1,是2
###第2,是3
###第3,是4
###第4,是10
###第5,是8
有疑问加站长微信联系(非本文作者)

消灭0回复
package main
import "fmt"
func main() { var p = []int{1, 2, 3, 4, 10, 8} fucnBian(1, p...)
}
func fucnBian(m int, s ...int) {
}
因为你的
fucn(m int, s...int)
接受的是s...int
,当你传入一个slice的时候,那个...
会把他展开成一个二维slice[][]int
,你的例子就是{{1,2,3,4,10,8}},所以range循环的第一次就会得到所有的值然后打印基础不牢啊,兄弟。 你
fucnBian
接收[]int
就完事了你再去看看go的可变参 就明白了
谢谢老板提示!
谢谢老板提示!
谢谢老板提示!
得令!