Go
Appearance
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" .
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.
To cross compile:
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -trimpath -o disco_scan_updater GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -trimpath -o disco_scan_updater.exe
Show available platforms:
go tool dist list
Windows Executables with winres
To add icons and version details:
go install github.com/tc-hib/go-winres@latest ~/go/bin/go-winres init
Add resources:
- Edit winres/winres.json
- A single high resolution png specified for RT_GROUP_ICON will be rescaled automatically
- Add winres/icon.png
Make syso resources, and build into binary:
~/go/bin/go-winres make go build