Go语言学习 四 代码的格式化

本文最初发表在我的个人博客,查看原文,获得更好的阅读体验


一 代码格式的统一

Go推荐大家使用相同风格的代码格式,而不是在这个问题上花费过多的时间。为了统一代码格式,Go甚至自带了一个格式化工具gofmt(或者go fmt),该工具会从包级别而非源文件以标准样式的缩进和垂直对齐方式对源代码进行格式化,甚至必要情况下注释也会重新格式化。
也就是说,在写go代码时,无需过多的关注排列结构和对齐等,最后使用gofmt格式化完就都变成统一风格了。

例如,下边的原始代码:

type T struct {
   
    name string // name of the object
    value int // its value
}

使用gofmt格式化完之后:

type T struct {
   
    name    string // name of the object
    value   int    // its value
}

注意字段及注释的对齐方式变化。另外,标准包中的所有Go代码都已使用gofmt格式化过了。

二 gofmt命令

gofmt是一个单独的命令,用来格式化Go的源代码。它用制表符(tab)进行缩进,空格进行对齐。对齐假定编辑器使用的是等宽字体。如果没有显式指定路径,它将处理标准输入;给定一个文件,它将处理该文件;给定一个文件夹,他将递归处理该文件夹下的所有.go文件(隐藏文件除外)。默认情况下,gofmt会将重新格式化好的代码打印至标准输出(而不是直接更新源文件)。
用法如下:
gofmt [flags] [path ...]

flags如下:
-d 重新格式化后的代码不再打印至标准输出。如果文件代码格式与gofmt不一致,打印区别至标准输出(该标识类似git的diff命令)。
-e 打印所有的错误(包括假的)。
-l 重新格式化后的代码不再打印至标准输出。如果文件代码格式与gofmt不一致,打印该文件名至标准输出。
-r rule 重新格式化源文件前应用指定的重写规则。
-s 在应用规则后(如果有的话),尝试简化代码。
-w

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值