我们这里先装一些小工具,以及小方法,方便以后开发;
upx: 安装壳工具
golint: 检查代码注释工具
goconvey: 单元测试工具
godoc: 文档工具
package main
import "fmt"
func main() {
fmt.Print("my name is fmt.Print\r\n")
fmt.Println("my name is fmt.Println")
fmt.Printf("my name is %s", "fmt.Printf")
}
$ cd /Users/Yueer/Documents/SourceCode/GoCode/src/GoWorkspace/Learn01/src
$ go build
$ brew install upx
$ go build -ldflags "-s -w" 再看看大小,1.7M了
$ upx -9 -k src 再看看大小623KB
呵呵,心里终于平衡点了,虽然比C代码编译出来的还大.
该工具用于检查代码中的注释。
安装golint
$ mkdir -p $GOPATH/src/golang.org/x/
$ cd $GOPATH/src/golang.org/x/
$ git clone https://github.com/golang/lint.git
$ git clone https://github.com/golang/tools.git
$ go install golang.org/x/lint/golint
检测注释
$ cd $GOPATH/src/GoWorkspace/Learn01/src
$ golint main.go
该工具用于单元测试。
教程: https://blog.csdn.net/lichangrui2009/article/details/86563982
安装命令如下
$ go get github.com/smartystreets/goconvey
$ go install github.com/smartystreets/goconvey
使用方法如下:
$ go test -v 单元测试
$ go test -cover 单元测试,显示测试覆盖率
$ go test -coverprofile=covprofile 准备covprofile文件
$ go tool cover -html=covprofile -o coverage.html 将覆盖情况输出为coverage.html文件
代码如下:
main.go
package main
import "fmt"
func Add (a, b int) int {
return a+b
}
func mul (a, b int) int {
return a*b
}
func main() {
fmt.Printf("add 1+2 = %d", Add(1, 2))
fmt.Printf("mul 1*2 = %d", mul(1, 2))
}
main_text.go
package main
import "testing"
func TestAdd(t *testing.T) {
Add(1, 2)
}
func TestMul(t *testing.T) {
mul(2, 3)
}
func TestMin(t *testing.T) {
main()
}
- 使用上面的命令看看效果吧.
- 这里有一个要注意的地方, 函数名首字母的大小写问题, 大写代表公有的,小写代表私有的,变量也是如此; 所以使用golint私有函数是不会打印出错误的
该工具用于生成我们的开发文档。
教程: https://blog.csdn.net/weixin_42654444/article/details/82221983
godoc -http=:6060
然后打开浏览器: http://localhost:6060, 就可以看到文档了。
但是打开后会发现里面好多东西呀,不对呀,不可能是我们写的呀!
你只要查找我们的项目名: Learn01,
呵呵找到了,我们的库文档出来了
注意代码中的package main, 如果使用godoc看不到什么注释,不妨把这个改下看看, 如改成package main1;
我的理解: package main相当于告诉编译器,这里面有main函数,如果改成其他的就变成库喽,就go run不起来了。
至于以上命令的具体怎么使用,请自行百度吧,我也是新手,很多不懂的地方。