go反射

itgeniusshuai · · 828 次点击
<a href="/user/jarlyyn" title="@jarlyyn">@jarlyyn</a> package级变量那个init()您的意思是不是我每增加一个struct就是init里面手动进行填入,例如: var structNames map[string][]string func init(){ structNames[&#34;test&#34;] = append(structNames[&#34;test&#34;],&#34;User&#34;) structNames[&#34;test&#34;] = append(structNames[&#34;test&#34;],&#34;Animal&#34;) structNames[&#34;test1&#34;] = append(structNames[&#34;test&#34;],&#34;Ball&#34;) structNames[&#34;test1&#34;] = append(structNames[&#34;test&#34;],&#34;Chair&#34;) } 之后获取的时候直接读取,每增加必须在init里面全部手动声明,或者把他写到一个配置文件里面yml,或者ini之后init方法读出来
#8
更多评论
没有这样的反射。建议你,如果有这样的需求,还不如使用类似 PHP 这样的动态语言
#1
结构的名称来创建一个结构实例 我听着你是要做一个工厂模式? 看一下sql的驱动部分的实现吧,怎么从一个字符串来创建一个驱动的interface。
#2