Go語言中init函數(shù)與匿名函數(shù)使用淺析
init函數(shù)
基本介紹
每一個源文件都可以包含一個init函數(shù),該函數(shù)會在main函數(shù)執(zhí)行前,被Go運行框架調(diào)用,也就是說init會在main函數(shù)前被調(diào)用
package main
import "fmt"
//init函數(shù),通常可以在init函數(shù)中完成初始化工作
func init() {
fmt.Println("init()")
}
func main() {
fmt.Println("main()")
}
/*
init()
main()
*/
注意事項和細節(jié)
1.如果一個文件同時包含全局變量定義,init函數(shù)和main函數(shù),則執(zhí)行的流程是變量定義->init函數(shù)->main函數(shù)
2.init函數(shù)最主要的作用,就是完成一些初始化的工作
案例
如果main.go和utils.go都含有變量定義init函數(shù)時,執(zhí)行的流程又是怎么樣的?

匿名函數(shù)
介紹
Go支持匿名函數(shù),如果我們某個函數(shù)知識希望使用一次,可以考慮使用匿名函數(shù),匿名函數(shù)也可以實現(xiàn)多次調(diào)用。
調(diào)用方式
方式1
在定義匿名函數(shù)時就直接調(diào)用,這種方式匿名函數(shù)只能調(diào)用一次
package main
import (
"fmt"
)
func main() {
res1 := func ( n1 int, n2 int) int {
return n1 + n2
}(10, 20)
fmt.Println("res1=", res1)
}
方式2
將匿名函數(shù)賦給一個變量(函數(shù)變量),再通過變量來調(diào)用匿名函數(shù)
package main
import (
"fmt"
)
func main() {
//將匿名函數(shù)func (n1 int,n2 int)int賦值給a變量
//則a的數(shù)據(jù)類型就是函數(shù)類型,此時,我們可以通過a完成調(diào)用
a := func ( n1 int, n2 int) int {
return n1 + n2
}
res1 := a(10, 20)
fmt.Println("res1=", res1)
}
到此這篇關(guān)于Go語言中init函數(shù)與匿名函數(shù)使用淺析的文章就介紹到這了,更多相關(guān)Go init函數(shù)與匿名函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang實現(xiàn)自己的Redis(有序集合跳表)實例探究
這篇文章主要為大家介紹了Golang實現(xiàn)自己的Redis(有序集合跳表)實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
golang操作連接數(shù)據(jù)庫實現(xiàn)mysql事務(wù)示例
這篇文章主要為大家介紹了golang操作連接數(shù)據(jù)庫實現(xiàn)mysql事務(wù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2022-04-04

