我有一个Go应用程序,它需要无限数量的常量集。应用程序还要求我能够在运行时将字符串映射到(整数) consts,反之亦然。常量的名称只保证是有效的标识符,因此几乎肯定会有重复的const名称。first.gotype First int ConstOne First = iota Invalid = -1second"
First fi = first.CodeToInt("ConstOne&
我一直在使用go/ast解析go源代码,并将其复制到另一个文件中,作为供应商提供练习的一部分。我已经处理了大部分事情--函数、类型等等--但是我还在为使用iota的const声明而苦苦挣扎。我迭代了ast.File.Scope.Objects中的项目,并使用Scope.Outer == nil和它们的Decl == ast.ValueSpec复制了对象的源代码,基本上隐含了顶级变量和常量。在一个类型的块中: a = iota c
我有这样的结构: paragraph_hypothesis = 1<<iota paragraph_menu= 1<<iota Type int // paragraph_hypothesis or paragraph_attachment我找到的唯一解决方案是基于专用函数,如isAttachment测试Go</em