如何更改结构体变量的内容?

huangapple go评论76阅读模式
英文:

How to change struct variable content?

问题

在上面的示例中,我的例子中变量的改变在方法执行后不会持续。我该如何使用结构体方法来改变结构体变量的值?

英文:

http://play.golang.org/p/wYgfLLQYdm

See example above. In my example the variable change does not last after the method is executed. How can I change a struct variable's value with a struct method?

答案1

得分: 6

你的方法接收器是一个值,而不是一个指针。

这意味着像switch_width_height()这样的方法是在对象的副本上操作的。
参见:

添加一个*

func (s *square) switch_width_height()

然后它将按预期工作:参见play.golang.org

英文:

Your method receiver is a value, not a pointer.

That means those methods like switch_width_height() operate on a copy of the object.
See also:

Add a '*':

func (s *square) switch_width_height()

And it will work as expected: see play.golang.org.

huangapple
  • 本文由 发表于 2014年12月7日 02:28:47
  • 转载请务必保留本文链接:https://go.coder-hub.com/27334966.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定