Go 返回结构键值

标签 go

这个问题在这里已经有了答案:





Invoking struct function gives "cannot refer to unexported field or method"

(2 个回答)


2年前关闭。




请帮助理解,我如何不仅可以从结构中返回值,还可以从函数中返回它们的名称?

例如我的 arg.go

package flags

import (
    "flag"
)

type FlagsStruct struct {
    argTest1  string
    argTest2   string
}

func GetInitFlags() *FlagsStruct {

    Flags := new(FlagsStruct)

    flag.StringVar(&Flags.argTest1, "test1", "test1", "c")
    flag.StringVar(&Flags.argTest2, "test2", "test2", "t")

    flag.Parse()

    return Flags

}

它仅适用于键,例如在我尝试打印的主要功能中,它正在工作:
fmt.Print(*inputFlags)

{test1 test2}



但是我怎么能通过 taht 可以打印这样的东西?
fmt.Printf(inputFlags.argTest2)

./main.go:25:24: inputFlags.argTest2 undefined (cannot refer to unexported field or method argTest2)

最佳答案

让您的参数名称以大写字母 (ArgTest2) 开头。见 this question更多细节。

关于Go 返回结构键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61302795/

相关文章:

oop - 如何在golang中创建一个自动调用的结构方法?

go - 如何阅读Cookie?

google-chrome - 为什么IE和Chrome显示的内容不一样?

go - 尝试将 xml.Unmarshal 构造为类型为 map[string]interface{} 的字段时出错

go - Clouser错误进入“返回的参数过多”

datetime - 一次 time.Parse 错误,我做错了什么?

go - 运行线程一定时间 - 在被杀死之前

json - 将 EasyJSON 与 golang 结合使用

list - 如何更新 go 列表中的下一个指针?

go - go微服务中如何给每条日志添加trace id