Go: Difference between revisions
Appearance
NickPGSmith (talk | contribs) No edit summary |
NickPGSmith (talk | contribs) No edit summary |
||
| Line 10: | Line 10: | ||
To remove debug symbols: | To remove debug symbols: | ||
go build -ldflags="-s -w" . | 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. | In multi-file projects, main.go is the convention. The binary name is taken from the project directory. | ||
Revision as of 16:27, 2 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.