Ubuntu下Go编译优化策略
一 目标与取舍
二 构建速度与缓存
三 运行时性能优化
四 二进制体积与交付
五 交叉编译与容器化交付
go build -ldflags "-s -w" -trimpath -o app main.go
upx --best app
FROM golang:1.22 AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -ldflags "-s -w" -o app .
FROM scratch
COPY --from=builder /app/app /app
ENTRYPOINT ["/app"]
go build -gcflags 'myhotpkg/...=-l=3' -o app .