func main() {
b := make([]string, 0, 1000)
apppppend(b)
fmt.Println(b)
}
func apppppend(b []string) {
b = append(b, "")
}
直接传递b,虽然能根据下标进行修改元素但并不能改变b
func aaaaaaaaa(b *[]string) {
*b[0] = "a"
}
得到
test.go|65 error| invalid operation: b[0] (type *[]string does not support indexing)
传递b的指针的话则相反
那么该怎么做呢
直接传递b并不能改变b这句话是有点问题的.. 不能对b执行append操作
但是可以改变b的,可以试一下
slice的定义其实是这样的
如果你非得修改其len或者cap,只能传*slice
根据问题更新了一下代码示例