我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Go代码格式化gofmt如何使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Go代码格式化gofmt如何使用

本篇内容介绍了“Go代码格式化gofmt如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

gofmt使用

对于一门编程语言来说,代码格式化是最容易引起争议的一个问题,不同的开发者可能会有不同的编码风格和习惯,但是如果所有开发者都能使用同一种格式来编写代码,开发者就可以将宝贵的时间专注在语言要解决的问题上。

Golang的开发团队制定了统一的官方代码风格,并且推出了gofmt工具(gofmt或go fmt)来帮助开发者格式化他们的代码到统一的风格。

Gofmt格式化Go程序。它使用制表符进行缩进,使用空格进行对齐。如果没有显式路径,它将处理标准输入。给定一个文件,它对文件进行操作;给定一个目录,它递归地操作该目录中的所有.go文件。(忽略以句点开头的文件。)

默认情况下,gofmt将重新格式化的源打印到标准输出。

有关gofmt的更多信息,请参见“go doc cmd/gofmt”。

用法:
    gofmt [flags] [path ...]

The flags are:
      -cpuprofile string
        将CPU配置文件写入此文件
    -d
        不将重新格式化的源打印到标准输出。
        如果一个文件的格式与gofmt的不同,则将差异部分打印到标准输出。
    -e
        打印所有(包括虚假)错误。
    -l
        不将格式化的源打印到标准输出。
        如果文件的格式与 gofmt 不同,则将其名称打印到标准输出。
    -r rule(string)
        在重新格式化之前,对源应用重写规则(例如,'a[b:len(a)] -> a[b:]')
    -s
        尝试简化代码(在应用重写规则后,如果有的话)。
    -w
           不将重新格式化的源打印到标准输出。
           如果文件的格式与 gofmt 不同,则用 gofmt 的版本覆盖它。
        如果在覆盖期间发生错误,原始文件将从自动备份中恢复

1. -s

gofmt默认不对代码进行简化,使用-s参数可以开启简化代码功能,具体来说会进行如下的转换:
gofmt -l -d -w -s [path]

去除数组、切片、Map初始化时不必要的类型声明:

如下形式的切片表达式:
    []T{T{}, T{}}
将被简化为:
    []T{{}, {}}

去除数组切片操作时不必要的索引指定

如下形式的切片表达式:
    s[a:len(s)]
将被简化为:
    s[a:]

去除迭代时非必要的变量赋值

如下形式的迭代:
    for x, _ = range v {...}
将被简化为:
    for x = range v {...}
如下形式的迭代:
    for _ = range v {...}
将被简化为:
    for range v {...}

不过这可能会导致与早期版本的 Go 不兼容的更改。

2. -r

可以看到,gofmt命令还支持自定义的重写规则,使用-r参数,按照pattern -> replacement的格式传入规则。

# 检查文件中是否有不必要的括号:    gofmt -r '(a) -> a' -l *.go# 删除括号:    gofmt -r '(a) -> a' -w *.go

3. go fmt和gofmt

gofmt是一个独立的cli程序,而go中还有一个go fmt命令,go fmt命令是gofmt的简单封装。

usage: go fmt [-n] [-x] [packages]Fmt runs the command 'gofmt -l -w' on the packages namedby the import paths. It prints the names of the files that are modified.For more about gofmt, see 'go doc cmd/gofmt'.For more about specifying packages, see 'go help packages'.The -n flag prints commands that would be executed.The -x flag prints commands as they are executed.To run gofmt with specific options, run gofmt itself.See also: go fix, go vet.

go fmt命令本身只有两个可选参数-n-x

  • -n仅打印出内部要执行的go fmt的命令;

  • -x命令既打印出go fmt命令又执行它;

如果需要更细化的配置,需要直接执行gofmt命令。

4. goland中配置gofmt

点击Setting-> Tools -> File Watchers,点加号添加一个go fmt模版,Goland中预置的go fmt模版使用的是go fmt命令,将其替换为gofmt,然后在参数中增加-l -w -s参数,启用代码简化功能。添加配置后,保存源码时,goland就会执行代码格式化了。

Go代码格式化gofmt如何使用

“Go代码格式化gofmt如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Go代码格式化gofmt如何使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Go代码格式化gofmt如何使用

本篇内容介绍了“Go代码格式化gofmt如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!gofmt使用对于一门编程语言来说,代码格式化
2023-07-06

Go代码格式化gofmt的使用方法实例

Golang制定了统一的官方代码风格,并推出gofmt工具(gofmt)来帮助开发人员格式化代码到统一的风格,下面这篇文章主要给大家介绍了关于Go代码格式化gofmt的使用方法,需要的朋友可以参考下
2023-05-16

Go语言代码格式化技巧:使用GoFmt命令提升可读性

gofmt 命令用于自动格式化 go 代码,以提升可读性。通过以下步骤使用 gofmt:确保已安装最新的 go 版本和 go 工具链。在命令提示符中运行 gofmt -w filename.go,以格式化代码并覆盖原始文件。gofmt 将应
Go语言代码格式化技巧:使用GoFmt命令提升可读性
2024-04-08

GoFmt命令:代码格式化利器,保持代码整洁美观

gofmt 命令是一个代码格式化工具,可自动格式化 go 源代码,使其符合 go 语言风格指南的约定,从而提高代码的可读性、一致性和美观性。使用方法:在终端输入 gofmt source_files.go,高级选项包括:使用 -w 将格式化
GoFmt命令:代码格式化利器,保持代码整洁美观
2024-04-08

如何使用Flex代码格式化工具

小编给大家分享一下如何使用Flex代码格式化工具,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Flex代码格式化在做Flex编码的时候,调整编码格式非常让人头疼,
2023-06-17

如何使用PyCharm进行代码格式化

PyCharm是一款强大的Python集成开发环境(IDE),其代码美化工具可以帮助开发者规范代码风格、优化代码结构,提高代码可读性。本文将介绍PyCharm代码美化工具的使用方法,并结合具体的代码示例进行详细说明。一、安装代码美化工具
如何使用PyCharm进行代码格式化
2024-02-25

pycharm如何格式化代码

pycharm格式化代码的方法:1、手动格式化,使用快捷键“Ctrl+Alt+L”来格式化当前文件中的代码;2、自定义代码风格规则,进入“Settings”选项,选择“Editor”,最后选“Code Style”;3、使用Python C
pycharm如何格式化代码
2023-12-09

js代码格式化工具eslint如何使用

这篇文章主要介绍“js代码格式化工具eslint如何使用”,在日常操作中,相信很多人在js代码格式化工具eslint如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js代码格式化工具eslint如何使用
2023-06-26

idea如何格式化代码

本文小编为大家详细介绍“idea如何格式化代码”,内容详细,步骤清晰,细节处理妥当,希望这篇“idea如何格式化代码”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。idea格式化代码的方法:1、直接使用快捷键“Ct
2023-07-05

如何使用Python 代码格式化工具 Black-Python

如何使用Python 代码格式化工具 Black-Python,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Black 号称是不妥协的 Python 代码格式化工具。之所以
2023-06-02

js如何格式化JSON代码

这篇文章将为大家详细讲解有关js如何格式化JSON代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。格式化 JSON 代码相信大家都使用过JSON.stringify方法,该方法可以将一个 JavaScr
2023-06-17

JavaScript如何格式化JSON代码

这篇文章主要为大家展示了“JavaScript如何格式化JSON代码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript如何格式化JSON代码”这篇文章吧。格式化JSON代码我们都
2023-06-27

Flex如何实现代码格式化

这篇文章将为大家详细讲解有关Flex如何实现代码格式化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Flex代码格式化在做Flex编码的时候,调整编码格式非常让人头疼,特别是有时候从其它文档中复制代码进来
2023-06-17

Golang使用gofumpt进行代码格式化

Golang代码格式化使用gofumpt教程gofumpt是一个根据Google指南自动格式化Go代码的工具,可提高代码可读性和维护性。安装goget-ugithub.com/mvdan/gofumpt使用通过命令行或gofmt(需gofumpt已安装)使用。提供多种选项定制格式化行为,如禁用差分模式、列出需要格式化的文件等。好处一致性:确保代码遵循统一样式指南。可读性:格式化代码以增强可读性。维护性:更容易理解和维护代码。团队合作:建立统一编码标准。自动化:节省时间和精力。集成可与VSCode、Vim、
Golang使用gofumpt进行代码格式化
2024-04-02

怎么使用Black代码格式化工具

小编给大家分享一下怎么使用Black代码格式化工具,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Black有时创意可能是一件美妙的事情。有时它只是一种痛苦。我喜欢
2023-06-02

如何用VBS写的VBSCRIPT代码格式化工具VbsBeautifier

这篇文章主要讲解了“如何用VBS写的VBSCRIPT代码格式化工具VbsBeautifier”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用VBS写的VBSCRIPT代码格式化工具Vbs
2023-06-08

如何用VSCode的Format功能实现代码格式化

这篇文章主要介绍了如何用VSCode的Format功能实现代码格式化的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用VSCode的Format功能实现代码格式化文章都会有所收获,下面我们一起来看看吧。近年开
2023-07-05

PHPStorm如何实现自动执行代码格式化

这篇文章主要介绍了PHPStorm如何实现自动执行代码格式化的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHPStorm如何实现自动执行代码格式化文章都会有所收获,下面我们一起来看看吧。在我们日常开发中,一定
2023-07-04

Flex代码格式化工具怎么用

这篇文章主要为大家展示了“Flex代码格式化工具怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Flex代码格式化工具怎么用”这篇文章吧。Flex代码格式化工具在做Flex编码的时候,调整编
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录