当前位置: 首页 > 面试题库 >

如何更改结构变量内容?

谭铭
2023-03-14
问题内容

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

请参阅上面的示例。在我的示例中,方法执行后变量更改不会持续。如何使用struct方法更改struct变量的值?


问题答案:

您的方法接收者是一个值,而不是一个指针。

那意味着那些方法像switch_width_height()操作对象的 副本
也可以看看:

  • 常见问题“ 我应该在值或指针上定义方法吗? ”。
  • “ 在Golang中不要被指针与非指针方法接收器咬住 ”
  • “ Go 101:指针与值的方法 ”
  • “ 去训练营 ”

添加一个’ *‘:

func (s *square) switch_width_height()

它将按预期工作:请参见play.golang.org。



 类似资料:
  • 问题内容: 我在测试代码中有一个数组 要求arr [0] .GetId() 服务器是接口。ServerInstance是实现接口方法的结构,即 我有一个像 这正在更新结构的变量“ Id”。我确定值会更新为- 但这并没有反映在第3行的通话中 _*_更新* 范例 http://play.golang.org/p/zUqJ0hEjxv 问题答案: 您在添加结构时将其复制,而不是在示例中放置指向结构本身的

  • 请帮助我订阅更改的变量。我做了简单的微调。服务中的微调状态(真|假)存储: 在组件模板中,我通过条件显示微调器: 在组件中,我尝试订阅服务isVisibleSpinner变量中的更改: 但控制台输出遵循错误消息: 类型“boolean”不可分配给类型“Observable”。

  • 问题内容: 我正在尝试从已定义的变量中增加或减少,但是我不知道如何用新的变量覆盖旧的值。 错误信息: 问题答案: 尝试运行代码时遇到的错误是: …从表面上看,这似乎很奇怪:毕竟,()代码中的第一个语句是一个赋值。发生什么了? 实际上,发生了两种截然不同的事情,除非你已经知道它们,否则它们都不是显而易见的。 首先,你实际上有两个不同的变量: 在a你的第一行是一个全局变量(所谓的,因为它存在于全球范围

  • 问题内容: 如何轻松检测变量何时更改值?我希望每当指定变量更改值时,程序的执行就在调试器上中断。现在,我正在使用Eclipse的调试器。 问题答案: 对于类或实例变量 右键单击大纲视图中的变量 选择“切换监视点” 然后,在breapkoints视图中,可以右键单击结果条目 选择“断点属性” 取消选择“现场访问”。

  • 问题内容: 我有一个测试用例,可以访问浏览器并对其进行处理。但是我需要以编程方式更改某些文本框的输入内容。我有8个字符串和一个布尔值,表示测试需要正确运行。问题是,您必须先通过ant和构建过程运行测试用例,然后才能实际运行它。我希望能够构建它,将其放在设备上,然后在我调用它时以某种方式将数据传递给设备。但是我不知道那是否可能。我目前唯一想到的选择是编写一个快速的Java程序,将其写入文件,更改变量

  • 我正在使用Android Studio创建一个应用程序,并使用Firebase模拟后端数据库。目前,我正在尝试使应用程序能够接收并显示我通过Firebase输入的数据。当我使用Firebase data snapshot方法捕获数据时,由于快照发生在内部类中,我无法保存和使用数据。 例如,在Firebase中,我已将“Fri”的值指定给“2步”。如果您查看下面的代码,第一条print语句(内部类内