Go Style: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 35: Line 35:
* [[Go_Interfaces#Idiomatic_Interface_Conventions|Idiomatic Interface Conventions]]
* [[Go_Interfaces#Idiomatic_Interface_Conventions|Idiomatic Interface Conventions]]


<font color=darkkhaki>Integrate this: https://go.dev/talks/2014/names.slide#1</font>
<font color=darkkhaki>Integrate this:  
* https://go.dev/talks/2014/names.slide#1
* https://golang.org/doc/effective_go.html#names
* https://blog.golang.org/package-names
* https://rakyll.org/style-packages/
</font>


=Comments=
=Comments=

Revision as of 18:38, 14 December 2023

External

Internal

Overview

The Go standard library is a good source of code examples, comments and style.

Naming

https://google.github.io/styleguide/go/guide#mixedcaps

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. This is how package encapsulation works.

Do not use snake case some_color.

Every exported name should be documented with a comment, following idiomatic comment conventions.

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:

Integrate this:

Comments

Go Language | Comments

Idiomatic Error Handling

Idiomatic Error Handling