在Go库源代码中,您通常会看到通过创建新的切片存储引用来传递切片,如下所示method(s[:])与仅通过原始切片相比,此方法有什么好处?method(s)
2 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
唯一会看到这样的代码的情况是s是一个数组,并且您希望将其作为参数传递给以切片为输入的函数。采取以下代码。
package main
func main() {
x := [...]int{1, 2, 3, 4, 5}
someFunction(x) // type mismatch error : expecting [] int, passed [5] int
someFunction(x[:])// no error
}
func someFunction(input []int){
// use input
}
这里要注意的是[] int和[5] int是完全不同的类型。
- 2 回答
- 0 关注
- 224 浏览
添加回答
举报
0/150
提交
取消