天天看点

Go语言学习---Day2

Go环境变量以及MinGW的安装和环境配置

安装教程

MinGW下载和安装教程 (biancheng.net)

Installation - Package Control

build-web-application-with-golang/01.1.md at master · astaxie/build-web-application-with-golang (github.com)

Sublime Text 2搭建Go开发环境(Windows) - Bill Yuan - 博客园 (cnblogs.com)

Sublime Text 3 安装Go语言相关插件gosublime《小白也能学会的教程》_MyHeartWillGoOn-CSDN博客

go语言开发工具sublime text3 + gosublime配置 - 北京雨夜 - 博客园 (cnblogs.com)

软件包

nsf/gocode: An autocompletion daemon for the Go programming language (github.com)

格式化代码

go fmt

gofmt

)可以将源代码格式化成符合官方统一标准的风格,遵循统一的代码风格是 Go 开发中无可撼动的铁律,所以在必须编译或提交版本管理系统之前使用 

gofmt

 来格式化代码。

        在命令行输入 

gofmt –w program.go

 会格式化该源文件的代码然后将格式化后的代码覆盖原始内容(如果不加参数 

-w

 则只会打印格式化后的结果而不重写文件);

gofmt -w *.go

 会格式化并重写所有 Go 源文件;

gofmt map1

 会格式化并重写 map1 目录及其子目录下的所有 Go 源文件。

  gofmt

 也可以通过在参数 

-r

 后面加入用双引号括起来的替换规则实现代码的简单重构,规则的格式:

<原始内容> -> <替换内容>

                实例:

        gofmt -r '(a) -> a' –w *.go
           

                上面的代码会将源文件中没有意义的括号去掉。

        gofmt -r 'a[n:len(a)] -> a[n:]' –w *.go
           

                上面的代码会将源文件中多余的 

len(a)

 去掉。

        gofmt –r 'A.Func1(a,b) -> A.Func2(b,a)' –w *.go
           

                上面的代码会将源文件中符合条件的函数的参数调换位置。

生成代码文档

go doc

 工具

        会从 Go 程序和包文件中提取顶级声明的首行注释以及每个对象的相关注释,并生成相关文档。

  go doc package

        获取包的文档注释,例如:

go doc fmt

 会显示使用 

godoc

 生成的 

fmt

 包的文档注释。

  go doc package/subpackage

        获取子包的文档注释,例如:

go doc container/list

  go doc package function

        获取某个函数在某个包中的文档注释,例如:

go doc fmt Printf

 会显示有关 

fmt.Printf()

 的使用说明。

        这个工具只能获取在 Go 安装目录下 

../go/src

 中的注释内容。此外,它还可以作为一个本地文档浏览 web 服务器。在命令行输入 

godoc -http=:6060

,然后使用浏览器打开 http://localhost:6060 后,你就可以看到本地文档浏览服务器提供的页面。

其他工具

  go install

        是安装 Go 包的工具,类似 Ruby 中的 rubygems。主要用于安装非标准库的包文件,将源代码编译成对象文件。

  go fix

        用于将你的 Go 代码从旧的发行版迁移到最新的发行版,它主要负责简单的、重复的、枯燥无味的修改工作,如果像 API 等复杂的函数修改,工具则会给出文件名和代码行数的提示以便让开发人员快速定位并升级代码。Go 开发团队一般也使用这个工具升级 Go 内置工具以及 谷歌内部项目的代码。

go fix

 之所以能够正常工作是因为 Go 在标准库就提供生成抽象语法树和通过抽象语法树对代码进行还原的功能。该工具会尝试更新当前目录下的所有 Go 源文件,并在完成代码更新后在控制台输出相关的文件名称。

  go test

        是一个轻量级的单元测试框架