Skip to content

Latest commit

 

History

History
50 lines (31 loc) · 1.46 KB

go-code.md

File metadata and controls

50 lines (31 loc) · 1.46 KB

如何写go代码

代码组织

总体方针

  • 所有的go代码都应该放在一个单独的工作区
  • 一个工作区可以有多个仓库,仓库都使用了版本管理工具,eg:git
  • 一个仓库包含了一个或多个包
  • 每个包在一个单独的路径下,包含了一个或多个源码文件
  • 包的路径,决定了import时的路径

工作区

工作区就是一个目录,里面有src和bin子目录, src里包含源码,bin包含可执行。 go tool构建和安装的可执行,都丢到bin目录里了。

src下一般是版本管理工具管理的仓库

GOPATH

一个环境变量,指明了工作区的位置。

一般会指定GOPATH,并将GOPATH下的bin添加到PATH下。

import

每个包的导入路径都是唯一的,导入的包路径要么是本地的要么是远程的。 本地的路径是基于工作区的一个相对目录,远程可能是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"