Go简单的入门:编译和安装应用

编译和安装应用

一、说明

这最后一篇主题中,你讲学习一对新的go命令。当你做频繁的改变,go run命名是有用的快捷方式对于编译和运行一个程序,它不用产生二进制可执行。

这个主题包含两个额外的命令用于构建代码:

  • go build命令编译包,连同它们的依赖,但是不能安装结果;
  • go install命令,编译并安装包;

二、操作

  1. hello2目录的命令行下,运行go build命令,编译代码称为可执行的二进制。

    $ ll
    total 16
    drwxr-xr-x  4 lifei  staff  128  8 17 23:17 ./
    drwxr-xr-x  5 lifei  staff  160  8 17 23:14 ../
    -rw-r--r--  1 lifei  staff  148  8 17 23:43 go.mod
    -rw-r--r--  1 lifei  staff  817  8 21 12:50 hello2.go
    $ go build
    $ ll
    total 3760
    drwxr-xr-x  5 lifei  staff      160  8 21 16:02 ./
    drwxr-xr-x  5 lifei  staff      160  8 17 23:14 ../
    -rw-r--r--  1 lifei  staff      148  8 17 23:43 go.mod
    -rwxr-xr-x  1 lifei  staff  1913936  8 21 16:02 hello2*
    -rw-r--r--  1 lifei  staff      817  8 21 12:50 hello2.go
    $
    
  2. hello2目录下命令行,运行新的hello2可执行文件验证代码的工作。

    注意,你的结果可能不同,取决于你在测试之后是否改变了greetings.go文件。

    $ ./hello2
    map[lifei:Hi, lifei. Welcome! my:Great to see you, my! tw:Hail, tw! Well met! zy:Hi, zy. Welcome!]
    $
    

    你已经编译了文件成为可执行文件,因此你能运行它。但是要在当前运行它,您的提示需要位于可执行文件的目录中,或者指定可执行文件的路径。

    接下来,你将安装可执行文件,以至于你能运行它不需要指定路径。

  3. 发现Go的安装路径,go 命令将安装当前包的位置。

    你能查找安装路径,通过运行go list命令,正如下面的例子:

    $ go list -f '{{.Target}}'
    /Users/lifei/go/bin/hello2
    $
    

    意味着,二进制文件是被安装/Users/lifei/go/bin/下。在下一步需要这个安装目录。

  4. 添加Go安装目录,到你系统的shell 路径。

    这种方法,你将能运行你的程序可执行文件,不需要指定可执行文件在哪。

    export PATH=$PATH:/Users/lifei/go/bin
    

    作为备选,如果你已经有一个目录像%HOME/bin在你的shell路径中,并且你不想安装你的程序到这儿,你能改变安装目的,通过设置GOBIN参数,使用go env命令。

    $ go env -w GOBIN=/path/to/you/bin
    
  5. 一旦你更新了你的shell路径,运行go install去编译和安装包

    $ go install
    $
    
  6. 运行你的应用仅仅通过输入它的名字。为了让这更有趣,打开一个新的命令行窗口,运行hello2可执行文件名字,在任何目录。

    因为,执行运行 export命令,是临时的。打开新窗口不起作用。

    如果写入/etc/profile文件,那就可以在新窗口执行了。

    $ hello2
    map[lifei:Hi, lifei. Welcome! my:Hi, my. Welcome! tw:Great to see you, tw! zy:Hi, zy. Welcome!]
    $
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值