go에서 빌드를 하는 경우 바이너리 실행파일을 생성합니다. 그런데 바이너리 실행파일은 OS(windows, mac, linux)별 아키텍쳐(x86, x64, arm64)별로 다른 구조 및 라이브러리 참조가 다르기 때문에 빌드시에 어떤 타켓으로 빌드 할 지 결정이 필요합니다. go build 시에는 go env에 저장된 환경변수 파일에 따른 정보로 빌드가 됩니다. GOARCH='arm64' GOHOSTARCH='arm64' GOHOSTOS='darwin' GOOS='darwin' 1. Windows 바이너리 컴파일 # Windows x64 빌드 GOOS=windows GOARCH=amd64 go build # Windows x86 빌드 GOOS=windows GOARCH=386 go build 2. Mac..