Go 言語で実装されたツールを運用したり解析する側の視点から、Go 言語が生成するバイナリについて気になることを調べた。 $ cat /etc/os-release NAME="Amazon Linux" VERSION="2023" $ go version go version go1.20.6 linux/amd64 シングルバイナリ基本的に Go 言語では、コンパイルするとシングルバイナリが生成される。たとえば次のようなファイルを用意し、 package main import "fmt" func main() { fmt.Println("hello world") } ビルドすると、次のようにスタティックリンクされたバイナリが生成される。 $ go build main.go $ file main main: ELF 64-bit LSB executable, x86-6