Go: init()执行顺序问题
生活随笔
收集整理的這篇文章主要介紹了
Go: init()执行顺序问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
init()函數會在包被初始化后自動執行,并且在main()函數之前執行,但是需要注意的是init()以及main()函數都是無法被顯式調用的。
那么init()是不是最先執行的呢?
答案是否定的,首先,在他之前會進行全局變量的初始化。
當我們導入其他包時,會先初始化導入的包,
而初始化包時,會先加載全局變量,而后從上到下加載init()函數,
當被導入的包的init()函數執行完畢后,執行調用方的全局變量加載,init()函數的順序加載,之后執行main()函數。
總結
以上是生活随笔為你收集整理的Go: init()执行顺序问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Go: GoRoutine是如何实现的?
- 下一篇: Go: 字符串比较的三种方法