我有一个我想使用函数更改的 slice (例如,我想删除第一个元素)。我想用一个指针,但我仍然无法索引它。我做错了什么?
func change(list *[]int) {
fmt.Println(*list)
*list = *list[1:] //This line screws everything up
}
var list = []int{1, 2, 3}
func main() {
change(&list)
}
最佳答案
您需要使用(*list)
。
func change(list *[]int) {
*list = (*list)[1:]
}
或通常更惯用的不同方法:
func change(list []int) []int {
return list[1:]
}
关于pointers - 通过传递指针更改 slice ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25902155/