GoLang之gofmt命令

GoLang之gofmt工具

注:本文基于Windos系统上Go SDK v1.8进行

1.gofmt命令介绍

Go语言的开发团队制定了统一的官方代码风格,并且推出了 gofmt 工具(gofmt 或 go fmt)来帮助开发者格式化他们的代码到统一的风格。
gofmt 是一个 cli 程序,会优先读取标准输入
1)如果传入了文件的路径的话,会格式化这个文件
2)如果传入一个目录,会格式化目录中所有 .go 文件

gofmt命令后面一定要加路径,否则命令会一直卡那里

2.gofmt 命令参数

gofmt 默认不对代码进行简化,使用-s参数可以开启简化代码功能,具体来说会进行如下的转换:
1)去除数组、切片、Map 初始化时不必要的类型声明
如下形式的切片表达式:
[]T{T{}, T{}}
简化后的代码为:
[]T{{}, {}}
2)去除数组切片操作时不必要的索引指定
如下形式的切片表达式:
s[a:len(s)]
简化后的代码为:
s[a:]
3)去除循环时非必要的变量赋值
如下形式的循环:
for x, _ = range v {…}
简化后的代码为:
for x = range v {…}
如下形式的循环:
for _ = range v {…}
简化后的代码为:
for range v {…}

在这里插入图片描述

3.“gofmt .”执行

try项目下有两个.go文件

在这里插入图片描述

在这里插入图片描述

执行以下命令,发现没有任何变化

 gofmt  .

在这里插入图片描述

4.“gofmt -s .”执行

try项目下有两个.go文件

在这里插入图片描述

在这里插入图片描述

执行以下命令,发现命令行输出有变化,但是文件内容没有任何变化

 gofmt  -s .

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.“gofmt ”执行

try项目下有两个.go文件

在这里插入图片描述

在这里插入图片描述

执行以下命令,发现卡到那里了,一直不动

 gofmt  -s .

在这里插入图片描述

6.“gofmt -w -r “a + b -> b + a” main.go”执行

try项目下有1个.go文件

在这里插入图片描述

执行以下命令,发现文件内容发生了变化

gofmt -w -r "a + b -> b + a" main.go

在这里插入图片描述

在这里插入图片描述

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GoGo在努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值