GOPATH的作用
一个Go语言的工作空间可能(通常)是表示成这样的文件结构:
其中,该目录的根目录就是$GOPATH
-bin/
hello.exe # 可执行命令
outyet.exe # 可执行命令
-pkg/
windows_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 # 测试源代码
要编译上面的项目,可以在$GOPATH/src/github.com/golang/example/hello目录下,命令行输入
go build
或者
go install
而如果配置了GOPATH环境变量,则可以在任何地方打开cmd,输入
go build hello
或者
go install hello
这就体现了GOPATH的作用
第一个hello world的go程序
下面开始尝试编写我们的第一个go程序
在我们的工作空间下,或者不使用GOPATH进行编译则可以在任何地方,新建文件夹src,用来存放我们的源代码。
在src中,新建文件夹hello,存放我们的主程序源代码hello.go
在hello.go中输入
package main
import ("fmt")
func main() {
fmt.Printf("Hello World.\n")
}
这时候,我们的文件结构是这样的
src/
hello/
hello.go
接下来假设我们不使用GOPATH
,直接在src/hello
目录下输入命令。
我们有3种方法运行我们的hello.go
- 第一种方法
go run hello.go
会直接编译运行打印出Hello World.
go run
并不会在任何地方生成可执行文件,因此,使用go run
后我们的文件结构没有任何变化
- 第二种方法
go build
会在src/h