zoukankan      html  css  js  c++  java
  • go 命令

    go build

    go build,是我们非常常用的命令,它可以启动编译,把我们的包和相关的依赖编译成一个可执行的文件。

    go help build 帮助命令

    go build
    go build .
    go build test.go
    

    以上这三种写法,都是使用当前目录编译的意思。因为我们忽略了packages,所以自然就使用当前目录进行编译。

    go build shhnwagjian.com.cn/tools
    

    这种方式是指定包的方式,这样会明确的编译我们这个包。

    go build shhnwangjian.com.cn/tools/...
    

    3个点表示匹配所有字符串,这样go build就会编译tools目录下的所有包。

    Go提供了编译链工具,可以让我们在任何一个开发平台上,编译出其他平台的可执行文件。

    默认情况下,都是根据我们当前的机器生成的可执行文件,比如你的是Linux 64位,就会生成Linux 64位下的可执行文件,可以使用go env查看编译环境,以下截取重要的部分。

    两个重要的环境变量GOOS和GOARCH,其中GOOS指的是目标操作系统。GOOS和GOARCH组合起来,支持生成的可执行程序种类很多,具体组合参考如下

    https://golang.org/doc/install/source#environment

    官方介绍:

    Choices for $GOOS are darwin (Mac OS X 10.8 and above and iOS), dragonflyfreebsdlinuxnetbsdopenbsd,plan9solaris and windows.

    Choices for $GOARCH are amd64 (64-bit x86, the most mature port), 386 (32-bit x86), arm (32-bit ARM), arm64 (64-bit ARM), ppc64le (PowerPC 64-bit, little-endian), ppc64 (PowerPC 64-bit, big-endian), mips64le (MIPS 64-bit, little-endian), and mips64 (MIPS 64-bit, big-endian). mipsle (MIPS 32-bit, little-endian), and mips (MIPS 32-bit, big-endian). 

    GOOS=linux GOARCH=amd64 go build flysnow.org/hello

    上面命令生成linux 64位的程序。

    除了GOOS和GOARCH常用,在实际开发中,对于开发出的程序会显示编译时间、go版本等属性,我们会用到用ldflags设置变量的值

    GOOS=linux GOARCH=amd64 go build -ldflags "-X 'main.BUILD_TIME=`date "+%F %T"`' -X 'main.GO_VERSION=`go version`'" .

    代码中需要引入变量

    var (
    	BUILD_TIME string
            GO_VERSION string
    )
    
    func usage() {
       fmt.Fprintf(os.Stderr, `Options:
    Build Time: %v
    Go Version: %v
    `, BUILD_TIME, GO_VERSION)
       flag.PrintDefaults()
    }
    
  • 相关阅读:
    npm版本管理
    spring框架学习笔记5:SpringAOP示例
    spring框架学习笔记4:SpringAOP实现原理
    spring框架学习笔记3:使用注解代替配置文件
    spring框架学习笔记2:配置详解
    spring框架学习笔记1:搭建测试
    struts2框架学习笔记7:struts2标签
    struts2框架学习笔记6:拦截器
    struts2框架学习笔记5:OGNL表达式
    struts2框架学习笔记4:获取参数
  • 原文地址:https://www.cnblogs.com/shhnwangjian/p/8447945.html
Copyright © 2011-2022 走看看