随笔 - 173,  文章 - 0,  评论 - 0,  阅读 - 10万

在 Go 中,当一个包被导入时,该包中的 init 函数会在程序执行开始时自动被调用。但是,直接导入 a 包时无法保证 b 包的 init 函数被调用。如果你希望在导入 a 包时同时调用 b 包的 init 函数,你可以在 a 包中手动导入 b 包,这样在 a 包被导入时,b 包的 init 函数也会被执行。例如:

1 // a.go
2 package a
3 
4 import (
5     _ "path/to/b" // 导入b包,但不直接使用其内容
6 )
7 
8 // 这里继续定义a包的其他内容

 

这样,当你导入 a 包时,b 包的 init 函数也会被调用。请注意,在这种情况下,你可能需要使用 _ 前缀来忽略未使用的导入,以避免编译错误。

posted on   黑熊一只  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示