Not quite what you’re looking for, but Google does have an official style guide which may be slightly helpful
Golang
This is a community dedicated to the go programming language.
Useful Links:
Rules:
- Posts must be relevant to Go
- No NSFW content
- No hate speech, bigotry, etc
- Try to keep discussions on topic
- No spam of tools/companies/advertisements
- It’s OK to post your own stuff part of the time, but the primary use of the community should not be self-promotion.
Apparently this repo is NOT any sort of standard, yet a lot of people are fooled to believe that based on the repo’s account name and the project’s name. I see this mentioned whenever this is asked… just an FYI…
Some aspects of that repo are actually language features, such as the pkg and internal directories.
pkg/
isn't a language feature. It's just a popular convention that used to be used in the Go standard library.
The language feature is the internal/
directory, and it's function of restricting dependencies from external programs.
That is correct, internal/
is a feature. I was just clarifying that the pkg/
folder isn’t any sort of language feature as you had said it was.
The folks over at changelog have made a quite nice podcast episode about it on gotime: https://changelog.com/gotime/278
I found the conversation to be quite insightful.
I often point to Upspin as it's a real-world Go project by folks closely related to the Go project (including Rob Pike).