InitUpdate
本文最后更新于 2024-04-16,文章内容可能已经过时。
InitUpdate
github地址:https://github.com/bearslyricattack/InitUpdate
Init函数是Go语言一个特殊的语法糖,通过使用这个特殊的函数,可以让我们在程序启动时初始化一些连接或者变量。
但是不恰当与频繁的使用Go init会大大增加代码的复杂性,而且因为环境的不同,会导致项目本地启动出现一些问题。为了解决此问题, 可以修改Init变为显式初始化,或者使用nacos等中间件做配置中心等。
但是对较为大型的项目,init函数过多,各个init函数之间的依赖关系比较复杂,难以分析,修改成本较高。此工具就是为了解决这个问题。 通过 "go/parser"包解析项目源代码为抽象语法树,并对每个文件的init函数进行操作:修改函数名,输出特定的语句。可以快速得到各个函数之间的依赖关系,进行init函数的改造。
后续可以通过加入自定义方法等方式,进一步拓展其功能。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果