#code #go
Un projet Go peut être une librairie (à importer dans du code), un cli (à exécuter directement) ou une combinaison des deux.
folder/
go.mod
modname.go
modname_test.go
Note: Il n’y a pas de fonction main
dans modname.go
. Dans go.mod
, il y a la ligne github.com/username/modname
et le package dans modname.go
est package modname
.
folder/
go.mod
main.go
main_test.go
Il y a une fonction main
dans main.go
Ce CLI peut être installé avec go install github.com/username/modname@latest
internal
folder/
internal/
auth/
auth.go
hash/
hash.go
modname.go
go.mod
cmd
.folder/
go.mod
modname.go
cmd/
prog1/
main.go
prog2/
main.go
Les commandes sont installées avec go install gitHub.com/username/modname/cmd/prog1@latest