我是Golang的新手,但仍在尝试了解结构。我似乎无法弄清楚如何在一个函数中创建它并在另一个函数中使用它。
这是我的代码。
文件1 main.go
package main
import (
"github.com/asolopovas/docker_valet/modules"
"fmt"
)
func main {
fl := dockervalet.GetFlags()
fmt.Pringln(fl.user) // returns fl.user undefined
}
文件2 flags.go
package dockervalet
import (
"flag"
"fmt"
)
type Flags struct {
user string
}
func GetFlags() Flags {
var userFlag string
flag.StringVar(&userFlag, "u", "", "")
flag.StringVar(&userFlag, "user", "", "")
flag.Parse()
fl := Flags{
user: userFlag,
}
fmt.Println(fl.user) // works as expected
return fl
}
提前致谢。
最佳答案
好吧,我想我明白了。我必须使用First Capital字母才能在另一个函数中访问此返回结构的问题解决方法。
文件1 main.go
func main {
fl := GetFlags()
fmt.Pringln(fl.User)
}
文件2 flags.go
type Flags struct {
User string
}
func GetFlags() Flags {
var userFlag string
flag.StringVar(&userFlag, "u", "", "")
flag.StringVar(&userFlag, "user", "", "")
flag.Parse()
fl := Flags{
User: userFlag,
}
fmt.Println(fl.user) // works as expected
return fl
}
关于go - 在一个函数中创建结构以在另一个函数中使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42331272/