【发布时间】:2021-10-10 23:37:50
【问题描述】:
我目前正在尝试通过将指针传递给函数来修改切片的元素。在函数之外,元素不会被修改。
有没有一种方法可以在不传递切片本身以及要更改的所需元素的索引的情况下修改元素?
package main
import (
"fmt"
)
type Item struct {
Value int
}
func alter(t *Item) {
(*t).Value = 100
}
func main() {
items := []Item{Item{0}, Item{1}}
for _, item := range items {
alter(&item)
}
fmt.Println(items) // Output is still [{0} {1}]
}
【问题讨论】: