配置go语言编译环境 golang编译后需要环境支持吗( 二 )


# cat hello.go
package main
import "fmt"
func main {
fmt.Printf("hello,world!\n")
}
#使用go编译hello.go
go install github.com/user/hello
#上面的命令讲名叫hello(or hello.exe)的程序放到你的工作区内 , 执行下面命令,会得到输出结果 。
$GOPATH/bin/hello
hello,world!
#当出现hello,world!表明Go已经安装成功可以工作 。
二、Go工作区介绍
1、机构组织代码概述
Go语言程序通常将所有的代码保存在一个工作区中 。
工作区包含许多版本控制库(由Git管理) 。
每个存储库包含一个或多个包 。
每个包由一个或多个在一个目录中的源文件组成 。
一个包的目录的路径决定其导入路径 。
注:同于其他的编程环境中,每一个项目都有一个独立的工作区且工作区是紧密联系在一起的版本控制库 。
2、工作区介绍
工作区是一个目录层次结构,它的根目录有三个目录:
src 包含Go源文件
pkg包含对象和包
bin 包含可执行命令
Go工具创建源码包并安装二进制文件到pkg和bin目录下
src目录通常包含多个版本控制库(如Git或Mercurial),跟踪一个或多个源包的开发 。
下面展示一个好的工作区的例子:
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)的工作区 , example 存储库包含两个命令(hello,outyet) , image库包含bmp包和几个其他的包 。
一个典型的工作区包含包含许多软件包和命令的多个源库 。大多数程序员将所有的源代码和依赖关系保存在一个工作区中
3、GOPATH环境变量设置
GOPATH环境变量指定工作区的位置 。它很可能是唯一的环境变量 , 代码开发时需要设置 。
开始,创建一个工作区目录并设置相应的gopath 。您的工作区可以位于任何你喜欢的地方,但我们将在这个文档中使用/data/work 。请注意,这不能是您的“Go安装”路径相同 。
mkdir -p /data/work
export GOPATH=/data/work
为了方便 。添加工作区的bin到PATH中
export PATH=$PATH:$GOPATH/bin
4、导入路径
一个导入路径是唯一标识一个包的字符串 。一个包的导入路径对应于它在工作区内或远程存储库中的位置 。
从标准库的软件包中给出了短的导入路径等 。对于您自己的包,您必须选择不可能和未来添加到标准库或其他外部库的基础路径冲突的路径 。
注意 , 你不需要将你的代码发布到一个远程存储库之前,你可以建立它 。这只是一个很好的习惯来组织你的代码,如果你有一天会出版它 。在实践中 , 你可以选择任何任意的路径名称 , 只要它是唯一的标准库和更大的去生态系统 。
我们将使用github.com/user作为我们的基本路径 。在您的工作区中创建一个目录,以保持源代码:
mkdir -p $GOPATH/src/github.com/user
5、第一个项目
编译并运行一个简单的程序,首先选择一个包的路径(我们将使用github.com/user/hello)和创建在您的工作区相应的软件包目录:

推荐阅读