我可能使用了错误的单词,但是-go类型的实例可以更改其基础值吗?
那是我的天真的假设,如果我有一个像这样的小程序
type Foo string
func (f Foo) ChangeMyValue() {
f = Foo("Hello World")
}
func main() {
// rand.Seed(time.Now().Unix())
f := Foo("Nope")
f.Hello()
fmt.Println(f)
}
我在f = Foo("Hello World")
方法中的调用ChangeMyValue
将更改struct实例的值,并且程序将打印 Hello World 。
这不起作用。 go的类型系统是否支持更改类型的基础值的方法?