Go 语言项目管理
来源:互联网 发布:凸优化求解算法 编辑:程序博客网 时间:2024/06/05 15:32
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编译器知道去哪里查找需要的包。 这个过程依赖的是GOPATH
和 GOROOT
连个变量。
由于有些命令会默认在GOPATH
第一个目录下执行,所以如果有多个下面项目的话,最好独立设置一个公共的目录作为第一目录。并不添加任何自己的项目代码,仅仅作为三方包目录。 Go先是从
GOROOT中查找包,如果没找到就从
GOPATH“`中查找,结果都没有找到,我们可以使用go env输出Go的环境变量设置。
go run
含义
执行这个go文件。 听上去像是执行一个脚本, 用着也几乎和执行脚本一样。
但是、、、 Go语言是编译语言!!!
这个命令一定是编译生产临时执行文件,执行临时执行文件,删除临时执行文件 。
命令格式 :
go run xxx.go
作用 :
- 执行这个xxx.go , 打印输出 。
go get xxx
检测目标包是否存在, 如果不存在,下载到 GOPATH
第一个目录下。
go build
含义
编译这个Go文件。 如果没有参数,则在当前目录下查找main
命令格式 :
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 可以在任意路径执行。
go clean
清楚当前项目的各种目标文件
go list
go test
执行对应项目的测试代码
- Go 语言项目管理
- Go语言_项目管理_带有包结构的Go语言项目创建
- go语言工程管理
- go语言工程管理
- Go项目目录管理
- Go项目目录管理
- Go项目目录管理
- go语言上手项目
- Go语言中的工程管理
- go语言开源项目
- Go 语言中手动内存管理
- Go语言学习笔记(5)-go工具和项目
- go语言web项目翻页实现
- Go语言开源项目vitess学习心得
- Go语言(golang)开源项目大全
- Go语言(golang)开源项目大全
- Go语言(golang)开源项目大全
- Go语言项目Beego的学习
- java生成文件的默认保存路径与System.getProperty("user.dir")
- 获取Android设备电池电量状态
- BaseAdapter适配器view缓存
- 使用友盟分享,出现linker command failed with exit code 1
- JavaScript基础——面向对象的程序设计
- Go 语言项目管理
- 操作系统7- shell
- oto餐饮app实时订单物流追踪系统架构设计(一)
- C++学习第二课
- “undefined JNI_GetCreatedJavaVM”和“File format not recognized”错误原因分析
- zoj 1395 可行遍性问题
- 网络 思科
- zabbix采集软件指标实现方法
- ios NSString md5 base64 urlEncode isEmail