Use camelCase with a capital first letter for exported names and a lowercase first letter for unexported names in Go.
In Go, use camelCase for all identifiers, but capitalize the first letter to make a name exported (visible outside the package) and leave it lowercase to keep it unexported (private to the package).
// Unexported: visible only within this package
func calculateTotal() int { return 0 }
// Exported: visible to all packages
func CalculateTotal() int { return 0 }
// Unexported variable
var configPath string
// Exported variable
var ConfigPath string
Go uses capitalization to control visibility, not keywords like 'public' or 'private'. If a name starts with a capital letter, it is exported and can be used by other parts of your program. If it starts with a lowercase letter, it is unexported and stays private to its file. Think of it like a door: capital letters leave the door open for everyone, while lowercase letters keep it locked.