go

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}