欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語言中init函數(shù)與匿名函數(shù)使用淺析

 更新時(shí)間:2023年01月16日 10:20:54   作者:fiveym  
這篇文章主要介紹了Go語言中init函數(shù)與匿名函數(shù)使用淺析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧

init函數(shù)

基本介紹

每一個(gè)源文件都可以包含一個(gè)init函數(shù),該函數(shù)會(huì)在main函數(shù)執(zhí)行前,被Go運(yùn)行框架調(diào)用,也就是說init會(huì)在main函數(shù)前被調(diào)用

package main
import "fmt"
//init函數(shù),通??梢栽趇nit函數(shù)中完成初始化工作
func init() {
	fmt.Println("init()")
}
func main() {
	fmt.Println("main()")
}
/*
init()
main()
*/

注意事項(xiàng)和細(xì)節(jié)

1.如果一個(gè)文件同時(shí)包含全局變量定義,init函數(shù)和main函數(shù),則執(zhí)行的流程是變量定義->init函數(shù)->main函數(shù)

2.init函數(shù)最主要的作用,就是完成一些初始化的工作

案例

如果main.go和utils.go都含有變量定義init函數(shù)時(shí),執(zhí)行的流程又是怎么樣的?

匿名函數(shù)

介紹

Go支持匿名函數(shù),如果我們某個(gè)函數(shù)知識(shí)希望使用一次,可以考慮使用匿名函數(shù),匿名函數(shù)也可以實(shí)現(xiàn)多次調(diào)用。

調(diào)用方式

方式1

在定義匿名函數(shù)時(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ù)賦給一個(gè)變量(函數(shù)變量),再通過變量來調(diào)用匿名函數(shù)

package main
import (
	"fmt"
)
func main() {
	//將匿名函數(shù)func (n1 int,n2 int)int賦值給a變量
	//則a的數(shù)據(jù)類型就是函數(shù)類型,此時(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 手把手帶你走進(jìn)Go語言之運(yùn)算符解析

    手把手帶你走進(jìn)Go語言之運(yùn)算符解析

    這篇文章主要介紹了手Go語言之運(yùn)算符解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 圖文詳解Go程序如何編譯并運(yùn)行起來的

    圖文詳解Go程序如何編譯并運(yùn)行起來的

    Go語言這兩年在語言排行榜上的上升勢(shì)頭非常猛,Go語言雖然是靜態(tài)編譯型語言,但是它卻擁有腳本化的語法,下面這篇文章主要給大家介紹了關(guān)于Go程序如何編譯并運(yùn)行起來的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • GO語言Defer用法實(shí)例分析

    GO語言Defer用法實(shí)例分析

    這篇文章主要介紹了GO語言Defer用法,實(shí)例分析了Defer的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • go語言錯(cuò)誤處理基本概念(創(chuàng)建返回)

    go語言錯(cuò)誤處理基本概念(創(chuàng)建返回)

    這篇文章主要為大家介紹了go語言錯(cuò)誤處理基本概念(創(chuàng)建返回),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Golang實(shí)現(xiàn)自己的Redis(有序集合跳表)實(shí)例探究

    Golang實(shí)現(xiàn)自己的Redis(有序集合跳表)實(shí)例探究

    這篇文章主要為大家介紹了Golang實(shí)現(xiàn)自己的Redis(有序集合跳表)實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 6行代碼快速解決golang TCP粘包問題

    6行代碼快速解決golang TCP粘包問題

    在用golang開發(fā)人工客服系統(tǒng)的時(shí)候碰到了粘包問題,那么什么是粘包呢?下面這篇文章主要給大家介紹了關(guān)于如何通過6行代碼快速解決golang TCP粘包問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • golang操作連接數(shù)據(jù)庫實(shí)現(xiàn)mysql事務(wù)示例

    golang操作連接數(shù)據(jù)庫實(shí)現(xiàn)mysql事務(wù)示例

    這篇文章主要為大家介紹了golang操作連接數(shù)據(jù)庫實(shí)現(xiàn)mysql事務(wù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • go?build失敗報(bào)方法undefined的解決過程

    go?build失敗報(bào)方法undefined的解決過程

    go build命令用于編譯我們指定的源碼文件或代碼包以及它們的依賴包,下面這篇文章主要給大家介紹了關(guān)于go?build失敗報(bào)方法undefined的解決過程,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Golang發(fā)送http GET請(qǐng)求的示例代碼

    Golang發(fā)送http GET請(qǐng)求的示例代碼

    這篇文章主要介紹了Golang發(fā)送http GET請(qǐng)求的示例代碼,幫助大家更好的理解和使用golang,感興趣的朋友可以了解下
    2020-12-12
  • Go語言的互斥鎖的詳細(xì)使用

    Go語言的互斥鎖的詳細(xì)使用

    本文主要介紹了Go語言的互斥鎖的詳細(xì)使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評(píng)論