init函數
作者:互联网
package main
import (
“fmt”
)
//
var age = test()
//為了看到全局變量是先按初始化的,我們這裏先寫函數
func test()int{
fmt.Println(“test()”)
return 90
}
//init函數,通常可以在init函數中完成初始化的工作
func init(){
fmt.Println(“init()…”)
}
func main(){
/*
基本介紹
每一個源文件都可以包含一個init函數,該函數會在main函數執行前,被Go運行框架調用,也就是説init會在main函數前被調用。
fmt.Println("main()...")
細節討論:
1)如果一個文件同時包含變量定義,init函數和main函數,則執行的流程是變量定義->init函數->main函數
2)init函數最主要的作用,就是完成一些初始化的工作,比如下面的案例;
inti函數的注意事項和細節
1)如果一個文件同時包含全局變量定義,init函數和main函數,則執行的流程全局變量定義->init->函數->main函數
2)
*/
fmt.Println("main()...age=",age)
/*
package main
import(“fmt”
//引入包
“包的路徑,函數”
var age = test()
//為了看到全局變量是先輩初始化的,我們這裏先寫函數
func test()int{
fmt.Println(“test()”)//
return 90
}
//init函數,通常可以在init函數中完成初始化工作
func init(){
fmt.Println(“init()…”)
}
func main(){
fmt.Println(“main()…age=”,age)//3
fmt.Println(“Age=”,utils,Age,“Name”,utils,Name)
package utils
var Age int
var Name string
//Age和Name全局變量,我們需要在main.go使用
//但是我們需要初始化Age和Name
//init函數完成初始化工作
func init(){
fmt.Println(“utils 包的 init()…”)
Age = 100
Name = “tom”
}
細節討論:
3)面試題:案例如果main.go和utils.go都含有變量定義,init函數時,執行的流程又是怎麽樣的呢?
*/
}
标签:fmt,函數,init,變量,Println,main 来源: https://blog.csdn.net/qq_43187004/article/details/100174250