Go对代码规范方面提供了别的语言没有提供的不错的工具。
例如可以把下面的代码
type T struct {
name string // name of the object
value int // its value
}
格式化成
type T struct {
name string // name of the object
value int // its value
}
使用方法如下:
gofmt
usage: gofmt [flags] [path ...]
-comments=true: print comments
-cpuprofile="": write cpu profile to this file
-d=false: display diffs instead of rewriting files
-e=false: print all (including spurious) errors
-l=false: list files whose formatting differs from gofmt's
-r="": rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')
-s=false: simplify code
-tabs=true: indent with tabs
-tabwidth=8: tab width
-w=false: write result to (source) file instead of stdout
比较有用的是-d和-w参数,分别表示比较修改后的文件和将修改后的文件替换源文件。