[英]Name for a generated go file
我正在生成一个Go文件(包括诸如构建版本之类的常量等),以便常量可以在其他包中使用。 我有一个创建了一个小工具,它将使用go generate
创建文件,但我正在尝试考虑一个合适的名称
很明显它是生成的,所以如果它缺失(在构建时),则用户知道运行go generate
然后我可以将文件添加到.gitignore
我的第一个猜测是像version_GENERATED.go
我应该注意的任何约定或更好的建议?
在生成文件之前,在文件名中加上像_GENERATED
这样的后缀不会保留任何信息,因为编译器只会给你“无关”错误,如"undefined: xxx"
(编译器不会猜测,如果标识符会存在,它将在version_GENERATED.go
)。
例如, stringer
发生器产生具有名称的文件type_string.go
其中类型被替换为它是为生成的类型的名称。
所以我认为仅仅遵循文件名的一般准则就足够了,除非使用_gen
或_generated
后缀。 或者,如果您的工具是公开的并且也被其他人使用,则使用工具的名称作为后缀(如stringer
一样)。
如果您确实希望用户在生成器尚未运行时收到健谈错误消息,则生成器可能会生成一个导出的常量,如果包含在错误消息中,该常量的名称是健谈的,例如:
const MustRunStringerGenerator = 0
在你的程序中,请参考它:
var _ = MustRunStringerGenerator // Test if stringer has been run
如果stringer
尚未运行,您将看到一条错误消息:
undefined: MustRunStringerGenerator
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.