mirror of
https://github.com/golang-standards/project-layout.git
synced 2026-02-04 06:06:18 +00:00
Updated the README.md file by adding a paragraph that provides further clarification on the purpose of the 'internal' directory.
This commit is contained in:
@@ -68,7 +68,7 @@ Private application and library code. This is the code you don't want others imp
|
|||||||
|
|
||||||
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`).
|
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`).
|
||||||
|
|
||||||
You use internal directories to make packages private. If you put a package inside an internal directory, then other packages can’t import it unless they share a common ancestor. It’s the only directory named in Go’s documentation and has special compiler treatment.
|
You use internal directories to make packages private. If you put a package inside an internal directory, then other packages can’t import it unless they share a common ancestor. And it’s the only directory named in Go’s documentation and has special compiler treatment.
|
||||||
|
|
||||||
### `/pkg`
|
### `/pkg`
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user