您的方法接收者是一个值,而不是一个指针。
那意味着那些方法像
switch_width_height()操作对象的 副本 。
也可以看看:
- 常见问题“ 我应该在值或指针上定义方法吗? ”。
- “ 在Golang中不要被指针与非指针方法接收器咬住 ”
- “ Go 101:指针与值的方法 ”
- “ 去训练营 ”
添加一个’
*‘:
func (s *square) switch_width_height()
它将按预期工作:请参见play.golang.org。

您的方法接收者是一个值,而不是一个指针。
那意味着那些方法像
switch_width_height()操作对象的 副本 。
添加一个’
*‘:
func (s *square) switch_width_height()
它将按预期工作:请参见play.golang.org。