go - campo desconocido en struct literal
(1)
Estoy tratando de crear una estructura, y me está dando un error, diciéndome que el campo es desconocido.
La estructura que estoy tratando de inicializar es:
package yelk
type PhoneOptions struct {
phone string
cc string
lang string
}
Y estoy intentando inicializar una estructura cli.go
en cli.go
como esto:
number := os.Args[1]
phoneOptions := yelk.PhoneOptions{phone: number}
Voy go run cli.go 5555555555
pero me da un error
./cli.go:29: unknown yelk.PhoneOptions field ''phone'' in struct literal
Todas las publicaciones de The StackOverflow que he visto con este error parecen ser de estructuras anidadas. Me pregunto qué estoy haciendo mal. cli.go
dará este error si solo intento ejecutar go build
en él, así que no creo que sean las entradas con las que lo he estado ejecutando.
¿Alguna idea de por qué sucede esto?
Los campos que comienzan con caracteres en minúsculas son paquetes internos y no están expuestos. Si desea hacer referencia al campo de otro paquete, debe comenzar con un carácter en mayúsculas, por ejemplo.
package yelk
type PhoneOptions struct {
Phone string
Cc string
Lang string
}
y entonces
number := os.Args[1]
phoneOptions := yelk.PhoneOptions{Phone: number}