- Go并發(fā)編程實戰(zhàn)
- 汪明
- 625字
- 2022-07-29 15:05:33
3.4 匿名函數(shù)
匿名函數(shù)(Anonymous Function)在JavaScript中會經(jīng)常用到,是沒有函數(shù)名的一種函數(shù)。由于沒有函數(shù)名,因此一般情況下只能在定義匿名函數(shù)時進行即時調(diào)用。換句話說,如果某個函數(shù)只需要調(diào)用一次,即無須重復進行調(diào)用,那么可以使用匿名函數(shù)。
3.4.1 匿名函數(shù)的即時調(diào)用
匿名函數(shù)可以用即時調(diào)用方式進行調(diào)用,如示例程序3-5所示。
示例程序3-5 匿名函數(shù)的即時調(diào)用:chapter03\code05\func.go

在示例程序3-5中,第05行用關鍵字func定義了一個函數(shù),但是func關鍵字后并沒有指定函數(shù)名,因此這個函數(shù)是一個匿名函數(shù)。這個匿名函數(shù)接收2個整數(shù)類型的參數(shù),并返回兩個整數(shù)類型的函數(shù)值。定義匿名函數(shù)后,可以直接在它的定義后面用(2, 3)進行調(diào)用,并將值賦給變量s和m。因此,s的值為2+3=5,m的值為2*3=6。
3.4.2 匿名函數(shù)的重復調(diào)用
匿名函數(shù)還可以實現(xiàn)重復調(diào)用的,只需要將匿名函數(shù)的定義賦值給一個變量,然后就可以用這個變量當作匿名函數(shù)的函數(shù)名進行調(diào)用了。下面是匿名函數(shù)賦值給變量來實現(xiàn)重復調(diào)用的示例程序3-6。
示例程序3-6 匿名函數(shù)的重復調(diào)用:chapter03\code06\func.go

在示例程序3-6中,第05行依然用關鍵字func定義一個函數(shù),但是func關鍵字后沒有指定函數(shù)名,因此這個函數(shù)是一個匿名函數(shù)。這個匿名函數(shù)接收2個整數(shù)類型的參數(shù),并返回兩個整數(shù)類型的函數(shù)返回值。和示例程序3-5不同的是,這個匿名定義后并未直接進行調(diào)用,而是將其賦值給一個變量f,之后借助這個f就可以實現(xiàn)匿名函數(shù)的重復調(diào)用。第08行和第11行分別用f(2, 3)和f(3, 7)對匿名函數(shù)進行了調(diào)用。
注意
在Go語言中,只能將一個匿名函數(shù)賦值給變量,而不能將一個命名函數(shù)賦值給變量。
- Boost程序庫完全開發(fā)指南:深入C++”準”標準庫(第5版)
- Java范例大全
- Java虛擬機字節(jié)碼:從入門到實戰(zhàn)
- Mastering Scientific Computing with R
- Getting Started with SQL Server 2012 Cube Development
- JavaScript+Vue+React全程實例
- Drupal 8 Module Development
- SQL Server 2016數(shù)據(jù)庫應用與開發(fā)
- Flutter跨平臺開發(fā)入門與實戰(zhàn)
- Oracle GoldenGate 12c Implementer's Guide
- Getting Started with Python and Raspberry Pi
- Unity&VR游戲美術(shù)設計實戰(zhàn)
- Python Essentials
- Spring Boot實戰(zhàn)
- Distributed Computing in Java 9