我需要按照下面的方式通过引用传递一个结构类型的接口。由于我不能使用指向接口的指针来修改结构类型变量,那么我应该如何更改下面的代码以将 te
的值修改为 10
?。
package main
import (
"fmt"
)
func another(te *interface{}) {
*te = check{Val: 10}
}
func some(te *interface{}) {
*te = check{Val: 20}
another(te)
}
type check struct {
Val int
}
func main() {
a := check{Val: 100}
p := &a
fmt.Println(*p)
some(p)
fmt.Println(*p)
}
谢谢!
附言:我读到过传递接口指针不是很好的做法。请告诉我如何更好地处理它。