这个问题在这里已经有了答案:
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/