问题标签 [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 导入修复为相对路径而不是绝对路径
是否有工具可以将我的包中的导入从绝对路径更改为相对路径。目前我的导入package bar
看起来像这样:
我想将其转换为
有没有这样的工具gofmt
可以为我做到这一点?我知道我可以用 bash 解决这个问题sed
。但是,我希望有一个go tool
可能存在于相同的地方。
go - 您可以调用 gofmt 来格式化您从编写它的 Go 代码中编写的文件吗?
我正在编写输出其他 Go 代码的 Go 代码。
我想知道是否有一种方法可以调用 gofmt 工具来格式化我从完成编写的代码中编写的代码。
我在 gofmt 上找到的文档,例如官方文档,都涉及如何从命令行使用 gofmt,但我想从 Go 代码本身中调用它。
例子:
提前感谢您的时间和智慧。
go - gofmt 保留换行符
使用 gofmt 格式化 go 源代码时,它会保留换行符,以便您可以将项目组合在一起。我对这实际上是如何实现的很感兴趣。我尝试查看 github repo 中的源代码golang/go
,但无法立即找到。如果您查看https://github.com/golang/go/blob/master/src/go/printer/printer.go#L979:
打印机如何知道源中存在这些额外的换行符?有人可以指出我正确的方向吗?
go - 如何在 Golang 中设置文本输入的初始值?
我知道您可以通过执行以下操作来调用用户的文本输入:
这将输出:
但是有没有办法为这个输入设置一个用户可以编辑的初始值。例如,如果初始值设置为“english”,那么输出将是:
go - 在go中,为什么打印时反射的值和它的接口都一样?
反射定律摘录:
(为什么不是 fmt.Println(v)?因为 v 是一个 reflect.Value;我们想要它拥有的具体值。)
这让我很困惑,因为以下代码:
打印相同的输出:
x 的值为:3.4
x的值的接口是:3.4
是因为fmt
在内部找到了反射的具体值v
吗?
go - 在 Golang 中定义类型的字符串输出
我想知道是否有办法fmt
指定字符串为特定类型输出的方式。例如,我有一个token
结构,其中包含有关令牌的一堆信息,例如令牌类型(这是一个 int,但为了清楚起见,如果我可以将令牌类型的名称输出为字符串会更有意义) .
因此,当我打印特定类型的变量时,是否有一种直接的方法来指定/实现这种类型的字符串输出?
如果这真的没有意义,Rust 有一个很好的形式(来自他们的文档)
go - 终端输入与预期结果不匹配
我是 Go 新手。
我编写了下面的程序以允许用户输入名称。
我运行程序并输入了我的名字nixon
为什么输出fmt.Println(name == "nixon")
总是 is false
?
go - fmt.Printf("%f\n",x) 将 Float64 舍入为 Float32,但 fmt.Println(x) 不会
我正在使用字典进行一些测试,为此,我以某种格式从数据库中打印出我想要的 Float64 值,以便将它们复制并粘贴到我的测试结构数组中,但是当我的测试失败时,我注意到这些值不同,但是只有通过0.0000000000002
然后,为了检查值,我在循环中编写了以下内容:
我得到了以下值:
我检查了文档,没有看到任何迹象表明 Float64 有特殊符号,或者 %f 将替换 Float64 为 Float32,但是,当我使用%v
或%g
文档指定它们将%f
在适当时使用时,我没有遇到问题.
当我使用任何一种指定精度为 12 时,我都没有遇到问题%.12f
,但文档中没有指定默认精度。
为什么会这样?
编辑:这与重复的问题相同,但我相信 Adrien 对此的解释更详细。