vimgo vscode goland 等ide工具集成了代码格式化命令,在保存go源码文件时自动调用 gofmt 命令和指定参数。如果是手工调用gofmt命令,需要参数-w,否则格式化结果不会写入文件。gofmt -w -lsrc,可以格式化整个项目。

gofmt的参数介绍:

  • -l显示那些需要格式化的文件
  • -w把改写后的内容直接写入到文件中,而不是作为结果打印到标准输出。
  • -r添加形如“a[b:len(a)]->a[b:]”的重写规则,方便我们做批量替换
  • -s简化文件中的代码
  • -d显示格式化前后的diff而不是写入文件,默认是false
  • -e打印所有的语法错误到标准输出。如果不使用此标记,则只会打印不同行的前10个错误。
  • -cpuprofile支持调试模式,写入相应的cpufile到指定的文件

常用打印函数:

func Print(a ...interface{}) (n int, err error)
func Printf(format string, a ...interface{}) (n int, err error)
func Println(a ...interface{}) (n int, err error)

格式化打印占位符:

%v,原样输出
%T,打印类型
%t,bool类型
%s,字符串
%f,浮点
%d,10进制的整数
%b,2进制的整数
%o,8进制
%x,%X,16进制
%x:0-9,a-f
%X:0-9,A-F
%c,打印字符
%p,打印地址