问题标签 [gofmt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - Go 中的缩进:制表符还是空格?
在某处是否有标准的 Google Go 编码约定文档来设置在 Go 源代码中是否首选制表符或空格来缩进?
如果有的话,官方的建议是什么?
go - 用 gofmt 生成,替换变量值
“生成”工具的发布开辟了许多令人兴奋的可能性。我一直在努力让我的测试变得更好。我有一个查询外部 API 的函数,该 API 的位置在全局变量中定义。一个难题是用在“生成时间”确定的值替换该值。
我有:
运行 go generate 然后出错:
不能像这样使用占位符:
那是因为,当我编译生产代码时,源代码会被重写,因此后续的测试编译不再可以替换占位符(它已经被替换了)。
我意识到我有点滥用gofmt
,但我宁愿不回去sed
。什么是有效的go:generate
陈述?
git - 在单独运行 go fmt 每次提交时,任何工具都会在 Git 中重新设置分支?
X
我希望使用源代码格式化工具(如go fmt
or )重建/重新设置 Git 分支中的所有提交indent
。
我希望工作流程大致包括创建一个新分支master
并迭代以下内容,其中$_
包括以下提交X
:
或者甚至可能
不过,我没想到会像那样-n
一起--continue
玩。此外,一个人应该自然而然地在完成时做出go fmt
承诺。X
go diff X new
但是,此过程有许多步骤可能出错,例如-a
寻求更改原始提交中未更改的文件、go fmt
混淆 Git 的修补程序、Git 更改提交日期等。
这些都不是特别麻烦,但如果一个快速工具或更简单的工作流程更干净,那么我很想知道它。
go - 在测试 golang 的 println 和 fmt.println 时需要帮助
我编写了简单的代码来测试 println 和 fmt.Println,但是当我运行代码时,它几乎每次都打印出不同的结果。我试图用谷歌搜索 println 和 fmt.Println 之间的区别,但一无所获。有没有人知道这两个功能的真正区别或优先级或顺序?
这是代码:
谢谢!
go - 如何使用重写规则在 gofmt 工具中用空格替换制表符?
gofmt
命令支持 -r 标志在格式化代码期间使用重写规则。如何使用它用空格缩进替换制表符缩进?
go - 如何拆分 fmt.sprintf 的长行
我在 fmt.Sprintf 中有很长的一行。如何在代码中拆分它?我不想将所有内容都放在一行中,因此代码看起来很难看。
go - 转到 fmt float64 问题
在我对 go fmt 包的新手理解中,我遇到了一些问题
它与以下代码有关:
导入“fmt”
输出是:
我不想使用科学记数法,所以认为 %f 会满足我的需要。我可以从格式化页面(https://golang.org/pkg/fmt/)看到它说:
有没有一种方法可以使用 fmt 包,它可以让我表示 smallFloat 的完整十进制值,同时不将 6 个零附加到 bigFloat 的末尾?
go - 在 Sublime Text 中保存时运行 goimports?
在 Sublime Text 3 中,带有插件GoSublime
并GoImports
已安装。
goimports
每次保存时我都无法自动运行我的文件。
这是我尝试过的:
我的 GoSublime 设置设置为:
当我使用这些设置保存时,代码会被格式化但不会添加导入。到目前为止没有什么令人惊讶的。
如果我按 ctrl+shift+P 然后按 GoImports,导入将按预期添加。
现在我的问题是,当我取消注释前一行以获得这些设置时:
它不仅不添加导入,而且不再进行其他格式化。
知道我哪里出错了吗?
我正在使用 Linux(Ubuntu)。
go - golang gofmt 包重写通配符
我正在尝试gofmt
重写所有以某个前缀开头的包。就像是:
gofmt -r 'github.com/some/path/<wildcard> -> someotherrepo.com/some/path/<wildcard>'
显然wildcard
不是有效的语法,只是显示概念。我尝试过使用单个小写字符,但这在这里不起作用。
有可能做我正在尝试的事情gofmt
吗?
vim - 在 vim 中禁用 gofmt-plug in vim ide
如何在 vim-plug ide 中为 vim 禁用 gofmt?
你好,我使用 vim-plug 作为我基于 vim 的 golang IDE。我有一个非常具体的查询。我不希望 gofmt 对我的代码进行任何不必要的格式化。我在 github 上提出了 vim-plug 的问题,但有人建议问题出在 vim-go 上。
我有我自己set tabstop=4
的.vimrc
。我在源代码中添加了标题部分,.go
以帮助读者了解源文件的全部内容。此外,在代码中的许多地方,我在代码中添加了多于 1 行以实现更清晰的隔离。早些时候,gofmt 在保存文件的同时修改所有内容。
通过在我的中包含以下 2 行.vimrc
源文件,分别。
但是,我无法禁用 gofmt 添加 8 空格选项卡。由于我有自己的 4 空格制表符,我不希望那些 8 字符制表符由gofmt
.
所以,我想完全禁用gofmt
。有人可以帮我禁用gofmt
吗?
版本信息:我在 CentOS 7.2 上使用 vim-7.4
问候, - 相同的橡木。