Jump to content

Go: Difference between revisions

From Smithnet Wiki
No edit summary
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.

Useful Packages