子嘉的博客 子嘉的博客
首页
bic-bic
技术
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

高子嘉

没有比脚更长的路,没有比人更高的山
首页
bic-bic
技术
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 技术文档

  • GitHub技巧

  • 博客搭建

  • 服务端

  • distributed

  • golang

    • gomod
    • compile
      • Golang 编译时改变参数,比如传递版本号等信息
      • go build 附加参数
    • code_snippet

    • protobuf
    • 单元测试
    • script

  • db

  • docker

  • linux

  • 技术
  • golang
子嘉
2022-06-05
目录

compile

# go 编译

# mac 编译
CGO_ENABLED=0 GOOS=darwin  GOARCH=amd64 go build -o ludo-server main.go
# linux 编译
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ludo-server main.go
1
2
3
4

# Golang 编译时改变参数,比如传递版本号等信息

参考博客链接 (opens new window)

package main

import (
    "fmt"
    "os"
)

var (
    gitHash   string
    gitTag    string
    buildTime string
    goVersion string
)

func main() {
    args := os.Args
    if len(args) == 2 && (args[1] == "--version" || args[1] == "-v") {
        fmt.Printf("Git Comit Hash:%s\n", gitHash)
        fmt.Printf("Git Tag :%s\n", gitTag)
        fmt.Printf("编译时间: %s \n", buildTime)
        fmt.Printf("编译器 Go 版本: %s \n", goVersion)
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

编译参数如下

TAG=v1.88.88
go build -ldflags "-X 'main.goVersion=$(go version)' -X 'main.gitTag=${TAG}' -X 'main.gitHash=$(git show -s --format=%H)' -X 'main.buildTime=$(git show -s --format=%ci)'" -o main main.go
1
2

编译输出结果如下:

% TAG=v1.88.88
% go build -ldflags "-X 'main.goVersion=$(go version)' -X 'main.gitTag=${TAG}' -X 'main.gitHash=$(git show -s --format=%H)' -X 'main.buildTime=$(git show -s --format=%ci)'" -o main main.go
% ./main
% ./main -v
Git Comit Hash:65ca716c4bb1b23ea96128b74e0360258dc6b4e2
Git Tag :v1.88.88
编译时间: 2021-04-18 22:15:53 +0800
编译器 Go 版本: go version go1.15.2 darwin/amd64
1
2
3
4
5
6
7
8

# go build 附加参数

附加参数 备 注
-v 编译时显示包名
-p n 开启并发编译,默认情况下该值为 CPU 逻辑核数
-a 强制重新构建
-n 打印编译时会用到的所有命令,但不真正执行
-x 打印编译时会用到的所有命令
-race 开启竞态检测
编辑 (opens new window)
#golang
上次更新: 2023/02/24, 10:34:03
gomod
json反序列化 int64丢失

← gomod json反序列化 int64丢失→

最近更新
01
mongodb restore
03-06
02
pytesseract
02-28
03
consul
02-24
更多文章>
Theme by Vdoing | Copyright © 2022-2025 子嘉 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式