其他分享
首页 > 其他分享> > init函數

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