- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
如果你有这样的代码:func MyFunc(a int, b int)
gofmt 重写规则能否将其更改为:func MyFunc(a, b int)
我试过:gofmt -r "f(x t, y t) -> f(x, y t)"myfile.go
但我得到:parsing pattern f(x t, y t) at 1:5: expected ')', found 'IDENT' t
我也试过:gofmt -r "f(x int, y int) -> f(x, y int)"myfile.go
但是对于 int 而不是 t 它给出了类似的错误
我已阅读 gofmt documentation .网络搜索没有找到任何有用的信息。
我故意使用单个字符标识符来匹配表达式。
我怀疑问题可能在于尝试匹配类型,因为它可能不被视为“表达式”
gofmt 可以做到这一点吗?
最佳答案
不,这不可能 - 因为 go fmt 将 patter 视为“表达式”,请查看 http://golang.org/src/cmd/gofmt/rewrite.go parseExpr() 函数。
Go 规范( http://golang.org/ref/spec#Expressions )清楚地说“表达式通过将运算符和函数应用于操作数来指定值的计算”。所以 go fmt 尝试将您的模式“f(x t, y t)”解析为函数调用,因此它需要逗号或括号而不是“t”。
你不能写很多“func MyFunc(a int, b int)”的模式——因为它的函数定义,不是一个有效的 go 表达式
关于go - gofmt 重写规则可以删除冗余参数类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22869017/
我正在使用带有 go 版本 go1.13.1 linux/amd64 的 Vim 版本 8.1.1401。我试图禁止 gofmt 将所有 if 语句括号放在新行上,例如: if thing { ret
我想将 gofmt 添加到 CI/CD 管道中。如果它产生变化,我希望 gofmt 以状态 1 退出。 例如,如果我运行 gofmt -s -l . 并且列出了一些文件。我希望它以状态 1 退出。现在
当使用 gofmt 格式化 go 源代码时,它会保留换行符,以便您可以将项目组合在一起。我对这实际上是如何实现的很感兴趣。我试着查看 github repo golang/go 中的源代码,但无法立即
我使用的是 iMac 27'' 2013 年末机型,我想针对 my package 运行 gofmt 工具. 我是这样调用它的: iMacs-Image:sergiotapia ~/smitego $
我正在尝试做 gofmt重写以特定前缀开头的所有包。像这样的东西: gofmt -r 'github.com/some/path/ -> someotherrepo.com/some/path/' 显
gofmt 命令不格式化花括号 ({})。 代码: package main import "fmt" func main() { fmt.Printf("Hello, world\n") }
如果你有这样的代码:func MyFunc(a int, b int) gofmt 重写规则能否将其更改为:func MyFunc(a, b int) 我试过:gofmt -r "f(x t, y t
在我正在维护的 go HTTP 服务器中,使用 VS Code 作为我的 IDE - gofmt 命令会在文件保存时执行,但它不遵守我引入的手动对齐为了可读性。 例如,我的代码如下: subRoute
我使用 go 1.6,我喜欢使用单引号。完成文件编辑后,我想在我的终端中使用 gofmt 替换它们,但没有任何效果。 gofmt -r "'->\"" book.go parsing
gofmt 命令支持 -r 标志以在格式化代码期间使用重写规则。如何使用它来将 制表符缩进 替换为 空格缩进? 最佳答案 Go 的格式由 gofmt 强制要求使用制表符缩进。另请参阅导致它的决定: h
我想我的 gofmt 没有正常工作,对吗? 原始文件: package main import "fmt" func main() { fmt.Printf("hello, world\n")
发布 'generate'工具开辟了很多令人兴奋的可能性。我一直在努力使我的测试更好。我有一个查询外部 API 的函数,该 API 的位置在全局变量中定义。难题之一是将该值替换为在“生成时”确定的值。
我正在试验 gofmt 工具的重构功能 go基于此的代码blog post ,我有一个简单的例子: package main import ( "fmt" ) var v = 12 func
我将 IntelliJ 与 Golang 插件一起使用。是否可以将 IDE 配置为在文件保存时执行 gofmt? 最佳答案 当然可以。 安装File Watchers plugin 打开“Prefer
安装 gofmt 包后,我在 Sublime Text 中不断收到此错误: Traceback (most recent call last): File "/Users/abrahma/Libr
我遇到了一个项目,它的 gitlab-ci.yml 中有这一行 go fmt $(go list ./... | grep -v/vendor/)接下来是 go test,然后是 go build。
我看到有 gofmt 和 go fmt。 gofmt 和 go fmt 有什么区别? 最佳答案 运行 go help fmt 来查看区别。简而言之,go fmt 在参数指定的包上运行 gofmt -l
我正在使用 go:generate 处理自动生成一些数据库模型,我希望通过 gofmt 运行我的 go 模板,但它被所有额外的 {{ ... }} 动态部分。 我是否遗漏了一些明显的东西?我希望这是
我正在编写输出其他 Go 代码的 Go 代码。 我想知道是否有一种方法可以调用 gofmt 工具来从完成编写的代码中格式化我编写的代码。 我在 gofmt 上找到的文档,例如the official
我正在尝试使用 Emacs 进行 golang 编程。我下载了 go-mode 包并安装了它。我的 .emacs 是: (require 'go-mode) 当我打开 *.go 文件时,go-mode
我是一名优秀的程序员,十分优秀!