问题标签 [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 回答
2087 浏览

go - GoLang gofmt 命令

gofmt 命令不格式化花括号 ({})。

代码:

gofmt hello.go 的输出

hello.go:6:1: 预期声明,发现 '{' 退出状态 2

如果我把空格放在任何地方,它会正确格式化。gofmt 不会格式化大括号吗?

0 投票
2 回答
773 浏览

json - 解析带有尾随逗号的 JSON 数组和映射元素时出现运行时错误

Go 的主要主题专家之一 Dave Cheney 写道:“当使用复合文字初始化变量时,Go 要求复合文字的每一行都以逗号结尾,甚至是声明的最后一行。这是分号规则的结果。”

然而,当我试图将这个漂亮的规则应用于 JSON 文本时,解析器似乎并不同意这种理念。在下面的代码中,删除逗号有效。有没有解决这个问题,所以当我在差异中添加元素时,我只能看到一行更改?

0 投票
1 回答
260 浏览

go - Go 代码的格式不一致?

下面是一些示例代码:

以下是使用任一格式化或go fmt按下Go Playground后的输出:Format

和 中的空格在os.MkdirAll()和中未触及时os.OpenFile()被删除。我希望格式是相同的。os.Create()os.Stat()

为什么会这样?

0 投票
1 回答
1668 浏览

go - Emacs Golang gofmt on save hook - 不格式化

使用 M-: (eval " PATH ")检查路径后,会显示C:/Go/bin的位置,所以我知道找到了二进制文件。如果我尝试对其他文件执行 Mx gofmt,它将给出正确的错误(不是 *.go 文件)。

但是我注意到消息中有一些奇怪的东西,这是 gofmt 试图格式化的地方。

调用 gofmt: gofmt (-wc:/Users/LunchBox/AppData/Local/Temp/gofmt5200q9o.go)
错误: (file-error "Searching for program" "no such file or directory" "diff")

为什么它在-w /appdata/locals/temp/etc中查找..?
它不应该是我目前正在处理的文件吗?在 c:/work/users/ovRESTful/ovRESTful.go 中称为 ovRESTful.go

我的代码行..

0 投票
0 回答
542 浏览

git - 在 Windows 上使用 Go 项目的正确方法,Gofmt 像它一样修改 CRLF

根据这个已关闭(按预期工作)的问题2242,gofmt 在 Windows 上的预期行为是将所有文件行结尾更改为 cr+lf。Posix 系统上的行为是相反的。

将我的 git repo 设置为 core.autocrlf true,或者将其设置为 false,我仍然在 git commit 中看到 gofmt 已修改行尾,并且所有文件都显示为已修改。

我不知道如何走出这个失败的深渊。Gofmt 的疯狂行为是孤独的,因为我拥有的其他工具或编辑器都没有对我的文件做这种可怕的事情。

0 投票
0 回答
80 浏览

sublimetext3 - Gosublime 缩进不起作用(gosublime 中的 gofmt 可能存在问题)

我在这里贴了两张图片

在这里您可以在Gedit文本编辑器中看到正确的缩进

Gedit 中的正确缩进

现在,在Sublime3中这是不合适的

崇高的缩进

我正在使用GoSublime,我的设置是:

如何在 sublime 文本编辑器中正确识别 go 代码?

0 投票
1 回答
218 浏览

go - 我的 gofmt 工作错误还是我不明白什么?

我想我的gofmt作品不是它应该的样子,对吗?

原始文件:

然后我做了:

之后的文件内容:

0 投票
2 回答
2681 浏览

go - 为什么 "fmt.Sprintf("%v,", lines[i])" 将逗号放在新行上?

这是完整的代码:

我认为这是因为 lines[i] 必须在字符串末尾包含一个换行字节。我试图删除它但失败了。

我加载的文件只是 json 文件,例如

第 1 行:{ "foo":"bar","baz":null }

第 2 行:{ "foo":"bar","baz":"quz" }

我试图在所有行的末尾添加一个逗号。任何帮助将不胜感激

只是为了让自己更清楚一点,我现在得到的是:

而我想要得到的是:

0 投票
2 回答
1333 浏览

go - 如何使用 fmt.Println() 扩展变量

我不能用 fmt.Println() 扩展变量。

结果 =>

0 投票
2 回答
195 浏览

go - 相当于 C 的否定扫描集

模仿 C 中存在的否定扫描集的方法是什么?

对于示例输入字符串:aaaa, bbbb

在使用中:

结果仅str1设置为:aaaa,

在 C 中可以使用格式字符串"%[^,], %s"来避免这个问题,有没有办法在 go 中完成这个?