init())函数和main()函数

init())函数和main()函数

1.这两个函数都是go语言中的保留函数。init()用于初始化信息,main()用于作为程序的入口

2.这两个函数定义的时候:不能有参数,返回值。只能由go程序白动调用,不能被引用。

3.init()函数可以定义在任意的包中,可以有多个。main()函数只能在main包下,并且只能有一个.

4.执行顺序
A:先执行init(0函),后执行main()函致
B:对于同一个go文件中,调用顺序是从上到下的,也就是说,先写的先被执行,后写的后被执行
C:对于同一个包下,将文件名按照字符串进行排序,之后顺序调用各个文件中init()函政
D:对于不同包下,
如果不存在依赖,按照main包中import的顺序来调用对应包中init()函数
如果存在依籁,最后被依赖的最先被初始化

导入1序: main-oA>B>C
执行顺序:C>B>Aomain

5.存在依算的包之间,不能循环导入
6.—个包可以彀其他多个包import,但是只能狻初始化一次。

写入自己的博客中才能记得长久
原文地址:https://www.cnblogs.com/heris/p/14673940.html