golang init和main函数
来源:互联网 发布:信用卡怎么淘宝套现 编辑:程序博客网 时间:2024/05/02 04:50
Go里面有两个保留的函数:init函数和main函数。下边就来比较一下两个函数的异同。
相同点:两个函数在定义时不能有任何的参数和返回值,且Go程序自动调用。
不同点:init可以应用于任意包中,且可以重复定义多个。main函数只能用于main包中,且只能定义一个。
下边说一下两个函数的执行顺序:
对同一个go文件的init()调用顺序是从上到下的
对同一个package中不同文件是按文件名字符串比较“从小到大”顺序调用各文件中的init()函数,对于
对不同的package,如果不相互依赖的话,按照main包中"先import的后调用"的顺序调用其包中的init()
如果package存在依赖,则先调用最早被依赖的package中的init()
最后调用main函数
下图截自astaxie的《Go Web 编程》
ps:如果init函数中使用了println或者print 你会发现在执行过程中这两个不会按照你想象中的顺序执行。这两个函数官方只推荐在测试环境中使用,对于正式环境不要使用。
转自http://studygolang.com/articles/3873
0 0
- golang init和main函数
- golang中的init函数和main函数
- Golang import、init()、main()
- go中的main函数和init函数
- go中的main函数和init函数
- go中的main函数和init函数
- go中的main函数和init函数
- go中的main函数和init函数
- go中的main函数和init函数
- go语言init和main函数
- go语言init和main函数
- go/golang main() init()方法的调用
- go语言中的main函数和init函数
- main函数及ISR init分析
- main函数和参数
- Android启动之init.c文件main函数分析
- main函数和WinMain 函数
- main函数和_tmain函数
- 超越之MongDB系列教程(九)MongDB的java驱动与Spring的整合
- android四大组件之一内容提供者contentprovider
- 图算法—Problem J
- 数据结构与算法简记:根据广义表构建二叉树
- chrome里打开IE?网页里启动本地应用程序?
- golang init和main函数
- HDU 1171 Big Event in HDU
- TI-CCxx系列电磁波唤醒学习笔记
- 【自制】前端html代码格式化小工具
- GitHub上Top20个 Python 语言机器学习项目
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
- 找资源网站
- 折半查找判定数及平均查找长度
- jhipster的相关