GO:格式化代码

http://www.ituring.com.cn/article/39380golang

Go 开发团队不想要 Go 语言像许多其它语言那样老是在为代码风格而引起无休止的争论,浪费大量宝贵的开发时间,所以他们制做了一个工具:go fmtgofmt)。这个工具能够将你的源代码格式化成符合官方统一标准的风格,属于语法风格层面上的小型重构。遵循统一的代码风格是 Go 开发中无可撼动的铁律,所以你必须在编译或提交版本管理系统以前使用 gofmt 来格式化你的代码。函数

尽管这种作法也存在一些争论,但使用 gofmt 后你再也不须要自成一套代码风格而是和全部人使用相同的规则。这不只加强了代码的可读性,并且在接手外部 Go 项目时,能够更快地了解其代码的含义。此外,大多数开发工具也都内置了这一功能。工具

Go 对于代码的缩进层级方面使用 tab 仍是空格并无强制规定,一个 tab 能够表明 4 个或 8 个空格。在实际开发中,1 个 tab 应该表明 4 个空格,而在自己的例子当中,每一个 tab 表明 8 个空格。至于开发工具方面,通常都是直接使用 tab 而不替换成空格。开发工具

在命令行输入 gofmt –w program.go 会格式化该源文件的代码而后将格式化后的代码覆盖原始内容(若是不加参数 -w 则只会打印格式化后的结果而不重写文件);gofmt -w *.go 会格式化并重写全部 Go 源文件;gofmt map1 会格式化并重写 map1 目录及其子目录下的全部 Go 源文件。spa

gofmt 也能够经过在参数 -r 后面加入用双引号括起来的替换规则实现代码的简单重构,规则的格式:<原始内容> -> <替换内容>命令行

实例:code

gofmt -r “(a)-> aw *.go

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

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

上面的代码会将源文件中多余的 len(a) 去掉。( 译者注:了解 slice 以后就明白这为何是多余的了 )get

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

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

若是想要了解有关 gofmt 的更多信息,请访问该页面:http://golang.org/cmd/gofmt/

相关文章
相关标签/搜索