go反射

itgeniusshuai · · 811 次点击
以我自己web工具库的某个缓存驱动的测试代码为例 https://github.com/herb-go/herb/blob/master/cache/drivers/freecache/freecache_test.go config := json.RawMessage("{\"Size\": 10000000}") c := cache.New() err := c.Init(cache.OptionJSON("freecache", config, ttl)) 而freecache只是我的驱动中的一种,我的驱动目前有6中 https://github.com/herb-go/herb/tree/master/cache/drivers 通过指定不同的字符串,比如 freecache,sqlcache,rediscache,redisluacache,hashcache,cachegroup。 可以创建不同的实例。 你要得就是这样的东西吧?
#5
更多评论
没有这样的反射。建议你,如果有这样的需求,还不如使用类似 PHP 这样的动态语言
#1
结构的名称来创建一个结构实例 我听着你是要做一个工厂模式? 看一下sql的驱动部分的实现吧,怎么从一个字符串来创建一个驱动的interface。
#2