いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Goメモ-222 (Goが対応している GOOS/GOARCH の組み合わせを出力)

概要

よく忘れるので、忘れないうちにメモメモ。。

Goでクロスコンパイルするときに、GOOSとGOARCHを設定する必要がありますが、それの一覧を出力するやり方。

Goの標準コマンドで出力できます。

$ go tool dist list

出力結果を json で取得したい場合は以下のようにします。

$ go tool dist list -json

サンプル

Taskfile.yml

version: '3'

tasks:
  default:
    cmds:
      - task: run
  run:
    desc: "Goが対応している GOOS/GOARCH の組み合わせを出力"
    cmds:
      - cmd: go version
      - cmd: go tool dist list

実行すると以下のようになります。

gitpod /workspace/try-golang (master) $ task -d examples/singleapp/list_go_archs/ 
task: [run] go version
go version go1.18.3 linux/amd64
task: [run] go tool dist list
aix/ppc64
android/386
android/amd64
android/arm
android/arm64
darwin/amd64
darwin/arm64
dragonfly/amd64
freebsd/386
freebsd/amd64
freebsd/arm
freebsd/arm64
illumos/amd64
ios/amd64
ios/arm64
js/wasm
linux/386
linux/amd64
linux/arm
linux/arm64
linux/mips
linux/mips64
linux/mips64le
linux/mipsle
linux/ppc64
linux/ppc64le
linux/riscv64
linux/s390x
netbsd/386
netbsd/amd64
netbsd/arm
netbsd/arm64
openbsd/386
openbsd/amd64
openbsd/arm
openbsd/arm64
openbsd/mips64
plan9/386
plan9/amd64
plan9/arm
solaris/amd64
windows/386
windows/amd64
windows/arm
windows/arm64

参考情報

pkg.go.dev

karanpratapsingh.com

taskfile.dev


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。