目录
文章目录
一个项目使用单个 GOPATH
GOPATH 指定了 Golang 项目的 Workspace,Golang 是支持多 GOPATH 的,也就是说:在同一个 Golang 项目中可以同时拥有多个运行环境。多 GOPATH 支持带来了一定的灵活度,但也会导致某些副作用,例如:软件版本的一致性。
诸如 Etcd 或 Camlistore 这样的大项目通常会使用 godep 类似的依赖包管理工具,将所有依赖都保存到某个目录中。也就是说,这些项目都会要求使用一个单一的 GOPATH,它们只能在这个目录内找到对应的版本。
简而言之,如果你认为项目需要一个独立的 GOPATH,那么就创建它,但不要尝试在一个项目中使用多个 GOPATH。
import 规范
- 使用 goimports 工具进行管理:能够在保存 *.go 文件时自动格式化文件并检查 import 规范。如果使用的包没有导入,则自动导入;如果导入的包没有被使用,则自动删除。
$ go get golang.org/x/tools/cmd/goimports
- 坚持使用分行导入,即便只导入一个包:
import (
"fmt"
)
- 导入多个包时注意按照类别顺序并使用空行区分:标准库包,第三方包,程序内部包:
import (
"encoding/json"
"strings"
"github.com/astaxie/beego"
"github.com/go-sql-driver/mysql"
"myproject/models"
"myproject/controller"
"myproject/utils"
)
- 禁止使用相对路径导入:
import "../net"
- 禁止使用 “.” 简化导入:
import . " pubcode/api/broker"
代码风格
来源:oschina
链接:https://my.oschina.net/u/4357969/blog/4357532