为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
UYOU 2021-05-11 18:16:35
创建像这样的结构后: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)没有打印任何内容,因为名称为空。那么如何设置结构中的字段?https://play.golang.org/p/_xkIc-n6Wbk
查看完整描述

3 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

评论(和工作)示例:


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的基础知识。


查看完整回答
反对 回复 2021-05-17
  • 3 回答
  • 0 关注
  • 248 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信