gpt4 book ai didi

go - 生成的 go 文件的名称

转载 作者:IT王子 更新时间:2023-10-29 01:58:54 25 4
gpt4 key购买 nike

我正在生成一个 Go 文件(以包含构建版本等常量),以便这些常量可以在其他包中使用。我创建了一个小工具,它将使用 go generate 创建文件,但我正在尝试想一个合适的名称,以便

  • 很明显它是生成的,所以如果它(在构建时)丢失,用户就会知道运行 go generate

  • 然后我可以将文件添加到 .gitignore

我的第一个猜测是类似于 version_GENERATED.go​​

有什么我应该注意的约定或更好的建议吗?

最佳答案

在文件名中添加像 _GENERATED 这样的后缀在生成文件之前不会包含任何信息,因为编译器只会给你“不相关”的错误,如 "undefined: xxx "(编译器不会猜测标识符是否存在,它会在 version_GENERATED.go​​ 中)。

例如 stringer生成器生成名为 type_string.go 的文件,其中 type 替换为为其生成的类型的名称。

所以我想简单地遵循 general guidelines对于文件名就足够了,除了可能使用 _gen_generated 后缀。或者,如果您的工具是公开的并且也被其他人使用,则使用工具的名称作为后缀(就像 stringer 那样)。

如果您确实希望用户在您的生成器尚未运行时收到一条多话的错误消息,您的生成器可能会生成一个导出的常量,如果包含在错误消息中,其名称是多话的,例如:

const MustRunStringerGenerator = 0

在你的程序中这样引用它:

var _ = MustRunStringerGenerator // Test if stringer has been run

如果 stringer 尚未运行,您将看到一条错误消息:

undefined: MustRunStringerGenerator

关于go - 生成的 go 文件的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36890166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com