>我正在尝试创建一个结构,它给了我一个错误,告诉我该字段未知。
我尝试初始化的结构是:
package yelk
type PhoneOptions struct {
phone string
cc string
lang string
}
我正在尝试像这样初始化cli.go
PhoneOptions
结构:
number := os.Args[1]
phoneOptions := yelk.PhoneOptions{phone: number}
我确实go run cli.go 5555555555
但它给了我一个错误
./cli.go:29: unknown yelk.PhoneOptions field 'phone' in struct literal
我看到的所有带有此错误的 StackOverflow 帖子似乎都来自嵌套结构。我想知道我做错了什么。 如果我只是尝试在其上运行go build
,cli.go
会给出此错误,因此我认为这不是我一直在运行的输入。
知道为什么会这样吗?
以小写字符开头的字段是包内部的,不会公开,如果要从另一个包引用该字段,则需要以大写字符开头,例如。
package yelk
type PhoneOptions struct {
Phone string
Cc string
Lang string
}
然后
number := os.Args[1]
phoneOptions := yelk.PhoneOptions{Phone: number}