问题标签 [go-generate]
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 generate 只扫描 main.go
从项目目录的根目录运行 go generate 时,我在使用 go generate 生成 grpc 服务器时遇到了一些问题。
当我运行go generate -v
它只返回main.go
. 但是,这些指令是在一个子包中定义的。如果我go generate
在子包中运行,它会按预期工作。我希望导入能够确保go generate
找到子包并运行指令。
该项目具有以下结构:
subpkg.go 的内容
main.go 的内容:
在 run.go 包中,我导入包 subpkg。
如何确保 go generate 可以从项目的根目录运行并执行所有子包中的所有指令。
go - gqlgen:生成了不需要的解析器
我正在使用gqlgen
,我想向查询解析器添加一个新方法。添加的方法如下所示:
for 的类型Foo
已经在文件中声明,并且被正确映射到.go
文件中的模型(我知道这是因为以前使用该类型的方法)。当我尝试从上述添加生成代码时,FooResolver
会在ResolverRoot
.
任何想法为什么会这样?
go - 通过 import 生成基于 protobuf 的 go 文件
我有两个 git 存储库:
common 这个存储库包含 protobuf 文件(.proto),这些文件应该通过 git submodule init 从其他供应商存储库中获取。还有带有指令的 go 文件://go:generate protoc --proto_path=a/xxx --go_out=。--go_opt=paths=source_relative a/xxx/b.proto
main 这个存储库包含 main 项目,它从 common 导入包。然后我调用 git submodule update --init 和 go generate。生成后我可以看到日志: go:finding github.xxx.com/xxx latest
但是主go文件显示一些问题: build github.xxx.com/main: cannot load github.xxx.com/xxx/proto: module github.xxx.com/common@latest found, but does not contain package github.xxx .com/xxx/proto
似乎 go generate 命令不会生成 proto 文件。我想如果我导入一些东西,那么这些文件就在缓存中的某个地方。我不确定我的方法是否可行。
你能告诉我这个解决方案是否可行或者我应该改变什么。
go - GoLand 未运行任何测试
我有一个正在测试的方法,一切似乎都很好。但是,当我在 GoLand 中运行测试时,我可以在输出中看到测试“通过”但测试运行器说“没有运行测试”。
这是示例方法calculator.go
这是 中的测试calculator_test.go
:
我究竟做错了什么?
c - Stringer 无法使用来自 C 枚举的值生成常量
我正在尝试在本地运行generate
CGO 项目https://github.com/libgit2/git2go 。我已经成功安装了系统库,并且可以使用和libgit2
构建和测试项目。go build -tags static,system_libgit2
go test -tags static,system_libgit2
当我尝试使用stringer
. 我显示的代码位于 master 分支中,所以我想它应该可以正常工作,问题就在我这边。
文件diff.go有 stringer 注释(删除了不重要的部分):
此类型引用libgit2
C 枚举,即/usr/include/git2/diff.h
:
当我运行命令时go generate
出现错误:
我试图运行这些命令:
go generate ./diff.go
go generate -tags static,system_libgit2
go generate -tags static,system_libgit2 ./diff.go
但它总是显示相同的错误。
如何正确生成带有来自 C 枚举值的 Go 常量的 stringer 文件?
go - gqlgen Resolver func 在生成的代码中缺少 OrderBy 参数
我是新来的。我正在使用 gqlgen 和 ent 构建一个项目。我有 schema.graphql 定义如下
成功生成代码后,我看到 AppQueryResolver.Response 和 IP.queries 的函数在生成的代码中缺少after: Cursor, first: Int, before: Cursor, last: Int ...的参数。我已经根据示例项目审查了架构,但看不到可能导致此问题的原因。在代码生成过程中也没有错误。有关在何处进一步寻找解决此问题的任何指示
go - go:generate stringer 未声明的名称:CONST
我使用 stringer 为不同类型生成 String() 方法,并将输出目录放在stringer/
但纵梁不识别包,因此生成
代替
是否有任何解决方法或方法可以帮助我在不同的目录中生成代码?
go - 从配置生成不同请求类型的代码
我有一个应用程序向不同的 url 发出大量请求。他们每个人都有不同的请求和响应结构。
位于 Mysql 数据库中的请求类型的配置。
它包含下一个数据:
- 网址
- 方法
- 查询参数
- 身体参数
- 标头
- 响应结构
因此,在我使用 Node.js 做这件事之前,很容易为此制定解决方案。
但是对于 Go,我看到了为此使用反射包的唯一方法。但反映会损害应用程序的性能。
有没有一种简单的方法可以为此生成代码?
请求配置示例:
用户示例:
并且在输出中应该发出下一个请求:
在正文中可能会使用参数的路径。
是否有自动生成此类代码的工具?
go - 在构建阶段生成
在诸如 gradle 或 blaze 之类的构建系统中,我可以在构建阶段生成代码(ent 或 proto),而无需添加到存储库中。
是否可以对go build
命令执行相同的操作?