Go: Difference between revisions
Appearance
NickPGSmith (talk | contribs) No edit summary |
NickPGSmith (talk | contribs) |
||
| Line 36: | Line 36: | ||
* [https://github.com/alexflint/go-arg alexflint/go-arg] | * [https://github.com/alexflint/go-arg alexflint/go-arg] | ||
* | * [https://github.com/pelletier/go-toml https://github.com/pelletier/go-toml] | ||
* [https://github.com/shirou/gopsutil https://github.com/shirou/gopsutil] | |||
* [https://github.com/dlclark/regexp2 https://github.com/dlclark/regexp2] | |||
Revision as of 08:55, 3 March 2026
Building and Packages
go run test.go go build test.go
If there are multiple files in the main package, must make go access all of them:
go run . go build .
To remove debug symbols:
go build -ldflags="-s -w" .
To cross compile:
GOOS=windows GOARCH=amd64 go build -o disco_scan_updater.exe
Show available platforms:
go tool dist list
In multi-file projects, main.go is the convention. The binary name is taken from the project directory.
gofmt -w . gofmt -d test.go
Initialise project, create go.mod file:
go mod init example-project
Download, and add reference to go.mod file:
go get github.com/alexflint/go-arg
Ensure go.mod is in sync with code imports:
go mod tidy
Note the go.sum file that contains anti-tampering checksums.