SuperAPI AI 工具集

go-fx

编程与开发

查看项目

更新于 10-16 00:29

技能介绍

用途:该技能面向使用 Uber Fx 依赖注入框架构建 Go 应用的场景,帮助用户消除全局状态、减少样板代码,并通过依赖注入容器管理应用生命周期。内容基于官方 Uber Fx 文档。

主要能力:涵盖依赖注入与容器(用 fx.Provide 注册构造函数、谨慎使用 fx.Invoke、用 fx.Module 组织组件)、应用生命周期(用 fx.Hook 的 OnStart/OnStop 处理副作用,注意钩子顺序与时长)、参数与结果对象(fx.In 封装依赖、fx.Out 封装多返回值、optional:"true" 可选依赖)、注解与值组(fx.Annotate 打标签、fx.As 转接口、group:"name" 收集实现)。

使用方式:按参考文档分主题查阅——生命周期见 references/lifecycle.md,模块约定与 fx.Private、fx.Invoke 见 references/modules.md,参数/结果对象见 references/dependency-objects.md,注解与值组见 references/annotations-and-groups.md。常用模式包括接口解耦、fx.Decorate 软定制、优雅关闭。

适用场景:构建、重构或审查 Go 应用,尤其是需要依赖注入、模块化组织和生命周期管理的项目。

限制:资料未提供具体安装命令、版本要求、收费信息或平台支持;实际使用需结合官方文档与项目环境验证。