Golang conventions
From wikinotes
Naming
Brevity
Go prefers short names, with good doc comments for both functions and packages.
Imported package names are typed every time a symbol is used.Go also prefers you drop the
get
prefix of getters.Casing
Functions
func DoThing() { ... } // exported functions are PascalCase func doThing() { ... } // regular functions are camelCaseVariables
var URL string = "https://example.com" // acronyms are uppercase var catName string = "foo" // regular vars are camelCase var DogName string = "foo" // constants in pascal-case are exportedInterfaces
// interfaces should end in 'er' (or similar) Writer, Reader, Formatter, Notifier, Flusher, Stringer // implementations of interfaces should drop the 'er' Write, Read, Format, Notify, Flush, String
Spacing
TODO
Syntax
Semicolons
Go uses semicolons as line-endings, but prefers that the semicolon is implied automatically.