Go struct fields starting with a capital letter are exported for external access, while lowercase fields remain private to the package.
In Go, struct fields starting with a capital letter are exported (public), while those starting with a lowercase letter are unexported (private). Exported fields are accessible from other packages, whereas unexported fields are only accessible within the same package.
type User struct {
Name string // Exported: accessible everywhere
email string // Unexported: accessible only in this package
}
Capital letters make a field public so any part of your program can see it, while lowercase letters keep it private so only the current file can touch it. Think of it like a house key: a public field is a door anyone can open, while a private field is a locked drawer only you can access.