问题标签 [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.

0 投票
3 回答
6267 浏览

go - 如何在 Golang 中获取用户的输入(fmt.scan)

我无法通过 use从Golangfmt.scan()中的用户那里获取输入。

代码图像

停止调试器后: 代码图像添加到代码 中err,但没有任何反应。

在我的代码中添加错误后的图像。下一行中的“不可用”是什么(在我的输入值之后:“51213”)

0 投票
1 回答
46 浏览

go - gofmt 可以适应本地编码标准偏好吗?

我喜欢gofmtGo 编程中的角色。但是,我们宁愿以下内容:

能够被格式化为:

类似于结构的格式,并符合我们对其他语言的编码标准。是否有任何规定可以满足此类当地偏好,或者这是否“不是我们在这里做事的方式”?我找不到对使用的模式的任何访问gofmt,所以我的猜测是“不”。

0 投票
2 回答
1464 浏览

bash - 当 gofmt 建议更改时,让 gofmt 以退出状态 1 退出?

我想将 gofmt 添加到 CI/CD 管道中。如果它产生更改,我希望 gofmt 以状态 1 退出。

例如,如果我运行gofmt -s -l .并且列出了一些文件。我希望它以状态 1 退出。现在当我运行时echo $?给我 0,即使列出了一些带有 gofmt 更改的文件。

我检查了文档,找不到相应的命令行选项。有没有 bash hack 可以做到这一点?

0 投票
1 回答
1191 浏览

go - vscode-go 输入选项卡大小为 4 而不是 8

我已经Visual Studio Code Insiders安装了。基本上我已经安装Go了 Microsoft 的扩展程序并编写了简单的 hello world 应用程序。现在我总是使用空格来缩进我的代码,但我看到它变成了大小为 4 的制表符。所以我想:是的,多么好的扩展,现在我可以开始编写我的代码了。

然后我记得,默认的代码缩进gofmt应该是 8 作为制表符。我检查了。gofmt main.go确实输出带有大小为 8 的选项卡的代码。但是 vscode 一直在执行大小为 4 的选项卡。我想也许它甚至没有调用gofmt,但是当我使用 RPM-> 格式化文档时 - 它确实如此。但是,大小为 4 的标签仍然存在。在这种情况下我做错了什么?

那些我唯一的编辑器设置,我没有任何关于Go扩展的自定义设置

0 投票
2 回答
1822 浏览

go - SublimeText 中的 Gofmt 插件未找到 GOPATH 错误

gofmt安装软件包后,我在 Sublime Text 中不断收到此错误:

我的``文件有以下内容:

go env(与我终端上的输出相匹配)

我还有一个golang.sublime-settings包含以下内容的文件:

因此,出于某种原因,GOPATH上述内容显然没有被采纳,有什么想法吗?

0 投票
1 回答
46 浏览

datetime - 打印经过时间时如何抑制日期

我有以下 Go 代码用于捕获经过的时间:

其输出为:

我希望输出简单:

不确定如何抑制时间包默认数据/时钟时间输出。

0 投票
1 回答
567 浏览

go - 有没有办法在不完全禁用 gofmt 的情况下防止 gofmt 将代码函数转换为多行?

我正在使用带有 go 版本 go1.13.1 linux/amd64 的 Vim 版本 8.1.1401。我试图禁止 gofmt 将所有 if 语句括号放在新行上,例如:

被转换为

我发现禁用此功能的唯一方法是设置:

但是,这完全禁用了 gofmt。我可以在完全禁用 gofmt 的情况下以某种方式做到这一点吗?

0 投票
1 回答
290 浏览

go - Go fmt 为数学表达式生成格式不一致的结果

我的理解是 go fmt 应该生成可读且格式一致的代码。但是,我认为情况并非如此。

我输入了注释代码,然后 go fmt 返回了未注释的代码。为什么它倒塌了0.5*(y3-y0),但没有0.5 * (y2 - y0)?这怎么一致?而且,IMO,几乎每个空间都塌陷的返回线是可读性灾难。

不一致是错误吗?有没有办法让 go fmt 单独留下一些行(如返回行)?

0 投票
1 回答
351 浏览

go - 如何格式化包含动态元素数量的字符串?

我正在尝试根据从调用它的函数接收到的元素来格式化字符串。这个元素的数量可以从一个变化到多个。

有没有办法用可变数量的元素调用 fmt.Sprintf 。类似于以下内容:

0 投票
2 回答
720 浏览

go - 如何以编程方式检索声明给定类型的包路径?

我正在寻找一种方法来检索本地安装的包,其中包含给定类型的声明和默认包名称。

IE:

我可以尝试检索所有已安装的包,并在每个查找声明时通过 AST,但如果有一个解决方案可以更有效地做到这一点,同时还提供对 go 模块的支持,我想使用它。

这样做的原因是为了改进代码生成工具。这个想法是让用户提供类型的名称,并让工具识别最有可能的候选者,就像 goimports 添加缺失的导入一样。