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

如何在struct方法中设置和获取字段

潘弘扬
2023-03-14
问题内容

创建像这样的结构后:

type Foo struct {
    name string
}

func (f Foo) SetName(name string) {
    f.name = name
}

func (f Foo) GetName() string {
    return f.name
}

如何创建Foo的新实例并设置并获取名称?我尝试了以下方法:

p := new(Foo)
p.SetName("Abc")
name := p.GetName()

fmt.Println(name)

没有打印任何内容,因为名称为空。那么如何设置结构中的字段?

工作操场


问题答案:

评论(和工作)示例:

package main

import "fmt"

type Foo struct {
    name string
}

// SetName receives a pointer to Foo so it can modify it.
func (f *Foo) SetName(name string) {
    f.name = name
}

// Name receives a copy of Foo since it doesn't need to modify it.
func (f Foo) Name() string {
    return f.name
}

func main() {
    // Notice the Foo{}. The new(Foo) was just a syntactic sugar for &Foo{}
    // and we don't need a pointer to the Foo, so I replaced it.
    // Not relevant to the problem, though.
    p := Foo{}
    p.SetName("Abc")
    name := p.Name()
    fmt.Println(name)
}

测试并进行Go之旅,以了解有关方法和指针以及Go的基础知识的更多信息。



 类似资料:
  • 问题内容: Java程序员和API似乎更喜欢显式的set / get方法。 但是,我给C ++社区不满意这种做法的印象。如果是这样,是否有特定原因(除了更多的代码行)为何如此? 另一方面,为什么Java社区选择使用方法而不是直接访问? 谢谢 问题答案: 一个设计良好的类在理想情况下应该没有太多的获取和设置。我认为,太多的获取和设置基本上是一个事实,表明其他人(可能还有许多人)需要我的数据才能实现其

  • 在VBA中,我希望从响应中截取字符串,并在随后的请求中设置它。 (如果Excel崩溃,这个cookie似乎丢失了,用户必须再次进行身份验证。我希望为用户设置最后存储的会话ID,这样如果会话在服务器上仍然有效,他们就不必在Excel客户机中重新进行身份验证。) 我看到了一些在线资源,根据这些资源,下面将拉出JSESSIONID cookie,但最后一行总是打印为空: 当我打印时,我看不到任何包含JS

  • 本文向大家介绍Java获取和设置字段,包括了Java获取和设置字段的使用技巧和注意事项,需要的朋友参考一下 示例 使用Reflection API,可以在运行时更改或获取字段的值。例如,您可以在API中使用它,以根据某个因素(例如操作系统)来检索不同的字段。您也可以删除修饰符,例如final允许修饰最终的字段。 为此,您将需要以getField()如下所示的方式使用Class#方法: 获取字段要容

  • 我正在尝试为属性创建get和set方法: 设置值的关键字是什么?

  • 问题内容: 如何在WordPress中设置,获取和销毁cookie? 我在网上冲浪,但思路不清楚,请帮助我找到方法。 问题答案: 您可以使用PHP在服务器端或客户端使用JavaScript在服务器端检索和操作Cookie。 在PHP中,您可以使用设置Cookie 。请注意,必须在将任何输出发送到浏览器之前完成此操作,这在Wordpress中可能是很大的挑战。您几乎只限于可以通过插件或主题文件(例如

  • 我已经尝试在Objective-C中创建HTTP Get。 它使用中的,并使用选择或。 并通过以下代码设置标头: