Go Language Modularization: Difference between revisions
Jump to navigation
Jump to search
Line 24: | Line 24: | ||
=<span id='Package'></span>Packages= | =<span id='Package'></span>Packages= | ||
A package is a group of related source files. A package can be imported by other packages. | A package is a group of related source files. A package can be imported by other packages. Always, there must be one package called <code>main</code>, and when that package is compiled, an executable is produced as result. Other packages do not produce executables as result of their compilation. | ||
==Declaring Packages== | ==Declaring Packages== | ||
==Importing Packages== | ==Importing Packages== |
Revision as of 00:27, 15 August 2023
External
Internal
Overview
A standard organization of the files that are part of a project makes easier to share code with other people who also use the same standard. Go workspaces encourage such a standard.
Overview
Workspaces
The standard workspace layout is:
. ├─ src ├─ pkg └─ bin
This layout is recommended, but not enforced.
A workspace may contain multiple projects.
Define the relationship between workspace and the GOPATH
variable.
Project
Packages
A package is a group of related source files. A package can be imported by other packages. Always, there must be one package called main
, and when that package is compiled, an executable is produced as result. Other packages do not produce executables as result of their compilation.
Declaring Packages
Importing Packages
Dependencies
TODO
Deplete, merge into this document and delete:
- Go Concepts - Packages
- Go Concepts - Dependency Handling
- Go Concepts - Standard Library
- Go Concepts - Runtime