golang import 下划线 的实现原理

webyh ·
qkb_75_go
琴为心声
补充说下“重点”: 如果没有 "_" 符号 import 一个包, 如果没有 使用包中定义的任何函数 ,即“引入的包不使用” golang 认为 这个是非法! 会拒绝 继续编译! 用户必须 注释掉这个 import 包才可以继续编译! 这样做的目的, 可能是为了 减小最终可执行文件的体积吧? 因为 所有包的 init() 函数,都会隐含调用, 所以在 golang 的“无使用包引入”检查之外的。 所以例外是: 有时候我们之所以引入一个包, 不是想用其中的功能函数, 而仅仅 就是想 调用其中的init()函数。 这时,只能用 "_" 符号,来提醒 golang, 对这个包就别做 “无使用空包检查”了。
#1