GO语言系列
Posted 麦克叔叔每晚10点说
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GO语言系列相关的知识,希望对你有一定的参考价值。
翻译了golang语言的代码组织架构官方文档,供大家参考。
概述
Go开发人员需要确保所有的Go代码在同一个workspace下面
一个workspace包括许多版本控制仓库(例如通过Git管理)
每一个仓库包括一个或多个包
每一个包由单一目录下的一个或者多个Go源文件组成
包的目录路径决定了import的路径。
Workspaces
Workspace是一个目录层级,根节点包括三个文件夹:
Src:包括Go的源文件
Pkg:包括包对象
Bin:包括可执行命令
Src子文件夹一般由多个版本控制仓库组成(例如Git或Mercurial),用于跟踪一个或者多个源包的开发。我们来看一个示例,了解workspace如何工作的:
bin/
hello # command executable
outyet # command executable
pkg/
linux_amd64/
github.com/golang/example/
stringutil.a # package object
src/
github.com/golang/example/
.git/ # Git repository metadata
hello/
hello.go # command source
outyet/
main.go # command source
main_test.go # test source
stringutil/
reverse.go # package source
reverse_test.go # test source
golang.org/x/image/
.git/ # Git repository metadata
bmp/
reader.go # package source
writer.go # package source
... (many more repositories and packages omitted) ...
以上的树形结构显示了包含两个仓库(分别是example和image)的workspace。Example仓库包括两个命名(hello和outyet),一个库(stringutil)。Image仓库包含bmp包。
GOPATH环境变量
GOPATH环境变量指定workspace的位置。默认是home目录下的go文件夹。你可以通过运行set GOPATH命令修改默认设置。
增加workspace的bin子文件夹到PATH:
$ export PATH=$PATH:$(go env GOPATH)/bin
$ export GOPATH=$(go env GOPATH)
发个小广告!!!走过路过,不要错过!新书来啦!!!
这里有你想买的书!
http://product.dangdang.com/23949549.html#ddclick_reco_reco_relate
麦克叔叔每晚十点说
以上是关于GO语言系列的主要内容,如果未能解决你的问题,请参考以下文章