- 所有的go代码都应该放在一个单独的工作区
- 一个工作区可以有多个仓库,仓库都使用了版本管理工具,eg:git
- 一个仓库包含了一个或多个包
- 每个包在一个单独的路径下,包含了一个或多个源码文件
- 包的路径,决定了import时的路径
工作区就是一个目录,里面有src和bin子目录, src里包含源码,bin包含可执行。 go tool构建和安装的可执行,都丢到bin目录里了。
src下一般是版本管理工具管理的仓库
一个环境变量,指明了工作区的位置。
一般会指定GOPATH,并将GOPATH下的bin添加到PATH下。
每个包的导入路径都是唯一的,导入的包路径要么是本地的要么是远程的。 本地的路径是基于工作区的一个相对目录,远程可能是github上的。
只有标准库中的包导入时是可以进行简写的,eg:fmt strings
将源码推到某个远程服务器,是一种好的习惯而已,并不是强制要求的。 一般远程源码都放在$GOPATH/src/github.com/user/
go test 是一个轻量级的测试框架。
要测试某个文件a.go的函数f(),测试文件名叫a_test.go, 测试的函数名叫TestF(),如果和预期不符,用t.Errorf()报错即可。
之后执行go test 看测试结果。
import "github.com/golang/example/stringutil"