Skip to content
Branch: master
Find file History
Latest commit 7b4b088 Oct 3, 2019
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
app/_your_app_ initial directory layout Sep 9, 2017
pkg/_your_private_lib_ initial directory layout Sep 9, 2017
README.md more pkg and internal notes Oct 3, 2019

README.md

/internal

Private application and library code. This is the code you don't want others importing in their applications or libraries. Note that this layout pattern is enforced by the Go compiler itself. See the Go 1.4 release notes for more details. Note that you are not limited to the top level internal directory. You can have more than one internal directory at any level of your project tree.

You can optionally add a bit of extra structure to your internal packages to separate your shared and non-shared internal code. It's not required (especially for smaller projects), but it's nice to have visual clues showing the intended package use. Your actual application code can go in the /internal/app directory (e.g., /internal/app/myapp) and the code shared by those apps in the /internal/pkg directory (e.g., /internal/pkg/myprivlib).

Examples:

You can’t perform that action at this time.