Is there a repository of best practices when it comes to Go? (project/file structure, decoupling)

18 points · 10 comments · view on lemmy.world

10 Comments

CodeBlooded@programming.dev · 5 pts · 3y (4 replies)

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…

foehammer@programming.dev · 3 pts · 3y (3 replies)

Some aspects of that repo are actually language features, such as the pkg and internal directories.

CodeBlooded@programming.dev · 2 pts · 3y (2 replies)

pkg/ isn't a language feature. It's just a popular convention that used to be used in the Go standard library.

foehammer@programming.dev · 1 pts · 3y (1 reply)

The language feature is the internal/ directory, and it's function of restricting dependencies from external programs.

CodeBlooded@programming.dev · 2 pts · 3y

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.

austin@programming.dev · 5 pts · 3y

Not quite what you’re looking for, but Google does have an official style guide which may be slightly helpful

otl@lemmy.sdf.org · 1 pts · 3y

I often point to Upspin as it's a real-world Go project by folks closely related to the Go project (including Rob Pike).

23Ro@programming.dev · 1 pts · 3y

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.