golang中的init函数和main函数
来源:互联网 发布:钢铁进出口数据 编辑:程序博客网 时间:2024/05/22 12:56
main函数
main 函数只能在package main中。
init函数
init 函数可在package main中,可在其他package中,可在同一个package中出现多次。
golang里面有两个保留的函数:init函数(能够应用于所有的package)和main函数(只能应用于package main)。这两个函数在定义时不能有任何的参数和返回值。
虽然一个package里面可以写任意多个init函数,但这无论是对于可读性还是以后的可维护性来说,我们都强烈建议用户在一个package中每个文件只写一个init函数。
go程序会自动调用init()和main(),所以你不需要在任何地方调用这两个函数。每个package中的init函数都是可选的,但package main就必须包含一个main函数。
程序的初始化和执行都起始于main包。如果main包还导入了其它的包,那么就会在编译时将它们依次导入。有时一个包会被多个包同时导入,那么它只会被导入一次(例如很多包可能都会用到fmt包,但它只会被导入一次,因为没有必要导入多次)。当一个包被导入时,如果该包还导入了其它的包,那么会先将其它包导入进来,然后再对这些包中的包级常量和变量进行初始化,接着执行init函数(如果有的话),依次类推。等所有被导入的包都加载完毕了,就会开始对main包中的包级常量和变量进行初始化,然后执行main包中的init函数(如果存在的话),最后执行main函数。下图详细地解释了整个执行过程:
阅读全文
0 0
- golang中的init函数和main函数
- golang init和main函数
- go中的main函数和init函数
- go中的main函数和init函数
- go中的main函数和init函数
- go中的main函数和init函数
- go中的main函数和init函数
- go中的main函数和init函数
- go语言中的main函数和init函数
- go语言init和main函数
- go语言init和main函数
- Golang import、init()、main()
- Linux启动过程中init/main.c中的start_kernel()函数中的lock_kernel()函数
- Golang regexp包中的函数和方法
- main函数及ISR init分析
- OpenCV----Main函数中的argc和argv
- main函数中的argc和argv是什么意思?
- Main函数中的argc和argv说明
- python爬虫:常用浏览器的useragent
- 微信小程序详细教程
- 安卓系统常用命令
- HDU 6071 Lazy Running(同余+最短路)
- 接入华为推送,开发流程, 与遇到的坑(PUSH SDK 和 HMS SDK)
- golang中的init函数和main函数
- java基础复习--复习总结6
- MySQL的外键
- Zynq-Linux移植学习笔记之15-用户APP直接访问PL物理地址
- 浅析前端渲染与后端渲染
- YV12转RGB24的计算转换和bmp(dib)文件的显示保存
- API Gateway技术设计
- CMake语法基础入门
- 标准MySQL数据库外的5个开源兼容方案