#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
internalfolder/
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