我有一个要使用函数更改的切片(例如,我想删除第一个元素)。我以为可以使用指针,但仍然无法为其编制索引。我究竟做错了什么?
游乐场链接:
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)。
(*list)
func change(list *[]int) { *list = (*list)[1:] }
或通常更像偶像的另一种方法:
func change(list []int) []int { return list[1:] }
playground