app.go 启动逻辑

来源:4-3 基础设施层-配置设计(设计思维)

Rynow

2019-07-01

_ “imooc.com/resk” 这个应该是引入resk这个包,为了调用app.go里面的方法,但是这个里面并没有调用init的方法,按照课程的讲解应该是为了重写 props库的里面的方法,老师能具体讲讲一下props这里面的init是怎么调用?

写回答

1回答

枫荇

2019-07-01

你好!同学,关于init函数:

  • 每个包可以定义多个init函数,事实上:

    • 每个源文件都可以定义init函数

    • 每个文件可以有多个init函数

  • 只要包引入就会执行该包下所有的init函数,并且先初始化依赖包。

  • 有多个init函数,首先按照源文件名的字典序从前往后执行,若一个文件中出现多个init,则按照出现顺序从前往后执行。

  • 引入的包init函数只会被执行一次

参考:

https://www.jianshu.com/p/5763893a6992

https://zhuanlan.zhihu.com/p/34211611

https://golang.org/doc/effective_go.html#init

https://golang.org/ref/spec#Package_initialization

0
1
Rynow
非常感谢!
2019-07-02
共1条回复

仿微信抢红包 Golang实战多版本抢红包系统

Golang红包系统单体版+并发版+分布式+微服务版,四大金装版、超值必修课

582 学习 · 159 问题

查看课程