📦 归档笔记 — 原创建于 WizNote,仅作归档展示;观点以当年为准,非最新。

gofmt/go fmt 格式化代码工具

创建时间2019-08-02最后修改2019-08-02原位置/程序员成长之旅/Go语言学习/笔记/字数501
目录:程序员成长之旅/Go语言学习/笔记
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