Init函数

在操作mysql数据库的时候需要引入

	_ "github.com/go-sql-driver/mysql"

具体是引入了什么呢?引入的是github.com/go-sql-driver/mysql/driver.go文件里面的这个函数;只需要引入这个包里面的Init函数,而不需要使用其他的函数

func init() {
	sql.Register("mysql", &MySQLDriver{})
}

工具包

go fmt

用于fmt代码,可以配置到不同的IDE里面进行使用

go doc

命令行文档帮助

go doc tar

基本自己的GOPATH,生成一个在线的http文档

 godoc -http=:6060

需要有一些注释约定

// : 函数、结构体、常量等需要export的注释
package注释
/**
*
/

godoc 在1.13.x版本里面已经被废弃

go build

如何在build的时候添加版本和git commit信息

go build -ldflags "-X 'idcos.io/wgen/cmd.GitBranch=`git branch | grep \* | cut -d ' ' -f2`'
-X 'idcos.io/wgen/cmd.Commit=`git rev-parse HEAD`'
-X 'idcos.io/wgen/cmd.Date=`date +'%Y-%m-%dT%H:%M:%m+08:00'`' \
-X 'idcos.io/wgen/cmd.GoVersion=`go version`'"

-X importpath.name=value Set the value of the string variable in importpath named name to value. This is only effective if the variable is declared in the source code either uninitialized or initialized to a constant string expression. -X will not work if the initializer makes a function call or refers to other variables. Note that before Go 1.5 this option took two separate arguments.

go get

下载指定版本的仓库

 go get <path-to-repo>@<branch>