http://play.golang.org/p/wYgfLLQYdm
请参阅上面的示例。在我的示例中,方法执行后变量更改不会持续。如何使用struct方法更改struct变量的值?
您的方法接收者是一个值,而不是一个指针。
那意味着那些方法像switch_width_height()操作对象的 副本 。 也可以看看:
switch_width_height()
添加一个’ *‘:
*
func (s *square) switch_width_height()
它将按预期工作:请参见play.golang.org。