http://play.golang.org/p/wYgfLLQYdm
见上面的例子。在我的示例中,变量更改在执行方法后不会持续。如何使用struct方法更改struct变量的值?
答案 0 :(得分:6)
你的方法接收器是一个值,而不是一个指针。
这意味着像switch_width_height()
这样的方法在对象的副本上运行
另见:
添加“*
”:
func (s *square) switch_width_height()
它会按预期工作:请参阅play.golang.org。