This guide details Go's identifier rules: unicode letters, digits, underscores only; no leading digits; no keywords.
It mandates camelCase for unexported and PascalCase for exported identifiers, consistent acronym casing like userID, ASCII letters, no clashes with builtins or stdlib, and minimal type inclusion in names. Identifier length should increase with scope for descriptiveness, with exported items capitalized and main packages mostly unexported.