gofmt/go fmt 格式化代码工具
程序员成长之旅 · 程序员成长之旅/Go语言学习/笔记 · 501 字
gofmt #无参数默认只打印格式化代码到控制台
-w #输出格式化后代码并写入文件
-b #和原代码进行对比
| 标记名称 | 标记描述 |
|---|---|
| -l | 仅把那些不符合格式化规范的、需要被命令程序改写的源码文件的绝对路径打印到标准输出。而不是把改写后的全部内容都打印到标准输出。 |
| -w | 把改写后的内容直接写入到文件中,而不是作为结果打印到标准输出。 |
| -r | 添加形如“a[b:len(a)] -> a[b:]”的重写规则。如果我们需要自定义某些额外的格式化规则,就需要用到它。 |
| -s | 简化文件中的代码。 |
| -d | 只把改写前后的内容的对比信息作为结果打印到标准输出。而不是把改写后的全部内容都打印到标准输出。命令程序将使用diff命令对内容进行比对。在Windows操作系统下可能没有diff命令,需要另行安装。 |
| -e | 打印所有的语法错误到标准输出。如果不使用此标记,则只会打印每行的第1个错误且只打印前10个错误。 |
| -comments | 是否保留源码文件中的注释。在默认情况下,此标记会被隐式的使用,并且值为true。 |
| -tabwidth | 此标记用于设置代码中缩进所使用的空格数量,默认值为8。要使此标记生效,需要使用“-tabs”标记并把值设置为false。 |
| -tabs | 是否使用tab(’\t’)来代替空格表示缩进。在默认情况下,此标记会被隐式的使用,并且值为true。 |
| -cpuprofile | 是否开启CPU使用情况记录,并将记录内容保存在此标记值所指的文件中。 |
go fmt #实际上就是简单的对gofmt进行了封装调用,实际上就是执行以下操作
gofmt -w -l