[go] 工欲善其事必先利其器

[go]工欲善其事必先利其器

  • 开始喽
    • 代码发布
    • 注释检测工具[golint]
    • 单元测试[goconvey]
    • 文档工具[godoc]

开始喽

我们这里先装一些小工具,以及小方法,方便以后开发;
upx: 安装壳工具
golint: 检查代码注释工具
goconvey: 单元测试工具
godoc: 文档工具

代码发布

  1. 创建项目如图(Learn01)
    [go] 工欲善其事必先利其器_第1张图片
    main.go中写入代码:
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")
}
  1. 编译我们的程序吧。
$ cd /Users/Yueer/Documents/SourceCode/GoCode/src/GoWorkspace/Learn01/src 
$ go build
  1. 安装壳工具upx
    windows/linux upx安装路径
    https://github.com/upx/upx/releases
    mac 安装方法
$ brew install upx
  1. 压缩执行文件
    生成了一个src,这个就是可执行文件,看看大小。my god! 2.1M
    就三个print就2.1M。 这么大,虽然不影响什么,但是看着不爽呀,咋办呢?
$ go build -ldflags "-s -w"   再看看大小,1.7M了 
$ upx -9 -k src				再看看大小623KB 

呵呵,心里终于平衡点了,虽然比C代码编译出来的还大.

注释检测工具[golint]

该工具用于检查代码中的注释。

安装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

单元测试[goconvey]

该工具用于单元测试。
教程: 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()
}
  1. 使用上面的命令看看效果吧.
  2. 这里有一个要注意的地方, 函数名首字母的大小写问题, 大写代表公有的,小写代表私有的,变量也是如此; 所以使用golint私有函数是不会打印出错误的

文档工具[godoc]

该工具用于生成我们的开发文档。
教程: https://blog.csdn.net/weixin_42654444/article/details/82221983

godoc -http=:6060

然后打开浏览器: http://localhost:6060, 就可以看到文档了。
但是打开后会发现里面好多东西呀,不对呀,不可能是我们写的呀!
你只要查找我们的项目名: Learn01,
呵呵找到了,我们的库文档出来了
[go] 工欲善其事必先利其器_第2张图片

注意代码中的package main, 如果使用godoc看不到什么注释,不妨把这个改下看看, 如改成package main1;
我的理解: package main相当于告诉编译器,这里面有main函数,如果改成其他的就变成库喽,就go run不起来了。

至于以上命令的具体怎么使用,请自行百度吧,我也是新手,很多不懂的地方。

你可能感兴趣的:(从零开始搞GO语言,go)