Go 语言项目管理

cchd0001 · · 4408 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Go 作为自带项目管理的编程语言,及其方便。

目录结构

通常, 一个Go语言项目 ( 假设这个项目的根目录是 GoProjectRoot )的目录是这样的 :

一级目录

 GoProjectRoot/src    #包含项目的源代码文件;
 GoProjectRoot/pkg    #包含编译后生成的包/库文件;
 GoProjectRoot/bin    #包含编译后生成的可执行文件。

其中src目录需要我们自己创建, 其余的两个目录都是在执行 go install 的时候自动生产的。

二级目录

在src目录下面的, 是我们本项目的全部源码, 一般按照不同的模块分别放置 : 

<GoProjectRoot>
     |--<src>
          |--<module1>
                 |--mudule1.go
          |--<module2>
                 |--module2.go
          |--<main>
                 |--main.go

编译执行

GOPATH & GOROOT

不同于Makefile 或者 Cmake , 我们可以在任意的路径执行我们的 go install 命令, 这就需要Go编译器知道去哪里查找需要的包。 这个过程依赖的是GOPATHGOROOT 连个变量。
Go先是从GOROOT中查找包,如果没找到就从GOPATH中查找,结果都没有找到,我们可以使用go env输出Go的环境变量设置。

go run

含义

执行这个go文件。 听上去像是执行一个脚本, 用着也几乎和执行脚本一样。
但是、、、 Go语言是编译语言!!!
这个命令一定是编译生产临时执行文件,执行临时执行文件,删除临时执行文件 。

命令格式 :

go run xxx.go

作用 :

  • 执行这个xxx.go , 打印输出 。

go build

含义

编译这个Go文件。

命令格式 :

go build xxx.go
go build -o NameYouNeed xxx.go

作用

在当前目录生产执行文件, 如果没有-o 参数 ,则可执行文件同.go后缀之前的名字的同名。

go install

含义

编译生产安装整个模块。

命令格式

go install xxx
注意 : xxx 是我们的模块的名字。
####作用

  • 如果这个模块的packet是main, 那么生产可执行文件。 放置在一级目录 bin下 , 名字同模块名字同名。
  • 如果这个模块不是main模块,那么编译生产xxx.a文件 。放置在一级目录pkt下。
  • 所有模块依赖的本项目模块都会被编译成对应的.a文件。放置在一级目录pkt下。

优势 :

go install 可以在任意路径执行。

版权声明:本文为博主原创文章,未经博主允许不得转载。


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:cchd0001

查看原文:Go 语言项目管理

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4408 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传