官术网_书友最值得收藏!

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ù)賦值給變量。

主站蜘蛛池模板: 安岳县| 长治市| 专栏| 花莲市| 错那县| 衡阳市| 峡江县| 乡宁县| 稷山县| 浪卡子县| 德化县| 特克斯县| 浦北县| 抚顺县| 昌宁县| 余干县| 湟中县| 九江市| 丹东市| 武义县| 揭阳市| 阿坝| 多伦县| 南汇区| 巩义市| 赫章县| 扎囊县| 当雄县| 嘉兴市| 四川省| 北票市| 浦城县| 磴口县| 广安市| 蓝山县| 于都县| 宝应县| 沧州市| 莎车县| 阿瓦提县| 锦州市|