Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6842365
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: 系统运维

2015-02-21 07:31:12

Go语言的工作空间和GOPATH环境变量

[日期:2015-02-19] 来源:Linux社区  作者:qinxiandiqi [字体:  ]
Go语言并没有强制一定要使用一定的工作空间和项目结构,对于小型的Go程序依靠Go run等命令就可以直接编译运行。然而,保持良好的工作空间和文件结构,对于管理源代码和发布程序都是非常有帮助的。对于大型的Go语言项目,工作空间则是一定要的。

1、Go语言的工作空间结构

Go语言的工作空间其实就是一个文件目录,目录中必须包含src、pkg、bin三个目录。

其中src目录用于存放Go源代码,pkg目录用于package对象,bin目录用于存放可执行对象。使用Go的编译命令工具可以将源代码或package编译后的二进制输出对应存储到bin和pkg目录中。src目录中的源代码根据package名分类到对应的子目录中,并且可以使用各种版本控制工具。举个例子,Go的工作空间目录结构大致如下:

bin/
    hello                          # 可执行命令
    outyet                        # 可执行命令
pkg/
    linux_amd64/
        github.com/golang/example/
            stringutil.a          # package对象
src/
    github.com/golang/example/
        .git/                      # Git仓库数据
 hello/
    hello.go              # 源代码
 outyet/
    main.go                # 源代码
    main_test.go          # 测试源代码
 stringutil/
    reverse.go            # package源代码
    reverse_test.go        # 测试源代码

上面的工作空间中包含了一个名为example的仓库,其中包含了hello和outyet两个命令,还有一个stringutil库。另外,一个工作空间中通常都会包含多个仓库。

2、GOPATH环境变量

GOPATH是go语言中跟工作空间相关的环境变量,这个变量指定go语言的工作空间位置。

当你建立工作空间目录后,你需要把工作空间目录的路径添加的GOPATH环境变量中。GOPATH环境变量支持多个值,如果你有多个工作空间,可以把多个工作空间值都添加到这个环境变量中,window系统使用分号";"分隔不同值,Linux或Unix系统使用冒号”:“分隔不同值。另外,还要将所有工作空间的bin路径添加到PATH环境变量中。在Linux系统下可以在~/.profile文件末尾添加如下内容:

$ export GOPATH=你的工作空间路径
$ export PATH=$PATH:$GOPATH/bin

当然,如果你的工作空间不止一个,PATH变量中不能直接使用$GOPATH/bin,要分别将各个工作空间中的bin路径添加进去。

需要注意的是,GOPATH环境变量的值不能与安装的go目录相同。go目录中同样有src、pkg、bin等类似工作空间的目录结构,不过其中包含的是go的标准模块,最好不要讲自己的工作空间和go目录混合,对于以后升级go版本也比较容易。

Linux系统入门学习-在Linux中安装Go语言  

 安装Go语言包 

《Go语言编程》高清完整版电子书 

Go语言并行之美 -- 超越 “Hello World” 

我为什么喜欢Go语言 

Go语言内存分配器的实现 

本文永久更新链接地址

阅读(538) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~