Go Style: Difference between revisions
(→Naming) |
(→Naming) |
||
Line 19: | Line 19: | ||
When a variable, struct or interface is imported from another package, its name includes the package name or alias: <code>mypackage.MyVar</code>. | When a variable, struct or interface is imported from another package, its name includes the package name or alias: <code>mypackage.MyVar</code>. | ||
Use name abbreviations only if they are widely used (example: <code>fmt</code>). | |||
Avoid name collisions, when possible. If you introduce a set of string functions, avoid calling the package <code>strings</code> because a package with the same name exists in the standard library already. | |||
Other naming conventions: | Other naming conventions: |
Revision as of 19:09, 6 September 2023
External
- https://google.github.io/styleguide/go/
- https://go.dev/doc/effective_go
- https://github.com/golang/go/wiki/CodeReviewComments
Internal
Overview
The Go standard library is a good source of code examples, comments and style.
Naming
Naming is one of the most important aspects of Go development. Writing idiomatic Go requires understanding of its core naming principles.
Identifiers should use camel case: SomeColor
or someColor
, depending on whether they are visible outside the package or not. Do not use snake case some_color
.
Acronyms should have a consistent case. URL
or url
is correct, Url
is not.
When a variable, struct or interface is imported from another package, its name includes the package name or alias: mypackage.MyVar
.
Use name abbreviations only if they are widely used (example: fmt
).
Avoid name collisions, when possible. If you introduce a set of string functions, avoid calling the package strings
because a package with the same name exists in the standard library already.
Other naming conventions: