網站首頁 編程語言 正文
init函數
基本介紹
每一個源文件都可以包含一個init函數,該函數會在main函數執行前,被Go運行框架調用,也就是說init會在main函數前被調用
package main import "fmt" //init函數,通常可以在init函數中完成初始化工作 func init() { fmt.Println("init()") } func main() { fmt.Println("main()") } /* init() main() */
注意事項和細節
1.如果一個文件同時包含全局變量定義,init函數和main函數,則執行的流程是變量定義->init函數->main函數
2.init函數最主要的作用,就是完成一些初始化的工作
案例
如果main.go和utils.go都含有變量定義init函數時,執行的流程又是怎么樣的?
匿名函數
介紹
Go支持匿名函數,如果我們某個函數知識希望使用一次,可以考慮使用匿名函數,匿名函數也可以實現多次調用。
調用方式
方式1
在定義匿名函數時就直接調用,這種方式匿名函數只能調用一次
package main import ( "fmt" ) func main() { res1 := func ( n1 int, n2 int) int { return n1 + n2 }(10, 20) fmt.Println("res1=", res1) }
方式2
將匿名函數賦給一個變量(函數變量),再通過變量來調用匿名函數
package main import ( "fmt" ) func main() { //將匿名函數func (n1 int,n2 int)int賦值給a變量 //則a的數據類型就是函數類型,此時,我們可以通過a完成調用 a := func ( n1 int, n2 int) int { return n1 + n2 } res1 := a(10, 20) fmt.Println("res1=", res1) }
原文鏈接:https://blog.csdn.net/weixin_49750432/article/details/128586652
相關推薦
- 2022-07-20 C/C++詳解實現二層轉發_C 語言
- 2022-03-10 Android如何獲取APP啟動時間_Android
- 2022-08-13 SpringSecurity+JWT實現認證及授權詳細步驟
- 2023-06-17 Hugo?Config模塊構建實現源碼剖析_Golang
- 2022-07-30 一文掌握Python正則表達式_python
- 2022-01-06 node的淘寶鏡像下載路徑cnpm
- 2022-09-03 python中*args與**kwarsg及閉包和裝飾器的用法_python
- 2022-03-23 C語言?scanf的工作原理詳解_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支