Go语言学习笔记十六-Go语言init函数

一、init函数demo

程序执行的顺序
1、先执行全局化变量的初始化 -> 2、执行init函数初始化 -> 3、执行main函数

 1 package main
 2 
 3 import "fmt"
 4 
 5 
 6 
 7 //init函数没有返回值 也没有参数 而且init函数可以有多个
 8 func init() {
 9     fmt.Println("A = ", A)
10     fmt.Println("我是init函数,我会在程序最开始的时候执行。一般用作初始化")
11 }
12 
13 var A int = 10 //这个最先执行 然后才是init函数
14 
15 func init() {
16     fmt.Println("第二个init")
17 }
18 
19 func main() {
20     fmt.Println("我是main函数")
21 
22 }
23 /*
24 程序执行的顺序
25 1、先执行全局化变量的初始化 -> 2、执行init函数初始化 -> 3、执行main函数
26  */

执行结果:

A =  10
我是init函数,我会在程序最开始的时候执行。一般用作初始化
第二个init
我是main函数

二、init执行结构图

原文地址:https://www.cnblogs.com/xwxz/p/13346032.html