主頁 > 知識庫 > 簡單了解Go語言中函數(shù)作為值以及函數(shù)閉包的使用

簡單了解Go語言中函數(shù)作為值以及函數(shù)閉包的使用

熱門標(biāo)簽:電銷機(jī)器人可以補救房產(chǎn)中介嗎 最短的地圖標(biāo)注 百度地圖標(biāo)注搜索關(guān)鍵詞 ?兓? 電梯外呼訪客系統(tǒng) 騰訊外呼系統(tǒng)價格 谷歌便利店地圖標(biāo)注 浙江人工智能外呼管理系統(tǒng) 成都呼叫中心外呼系統(tǒng)平臺

函數(shù)作為值

Go編程語言提供靈活性,以動態(tài)創(chuàng)建函數(shù),并使用它們的值。在下面的例子中,我們已經(jīng)與初始化函數(shù)定義的變量。此函數(shù)變量的目僅僅是為使用內(nèi)置的Math.sqrt()函數(shù)。下面是一個例子:

復(fù)制代碼 代碼如下:

package main

import (
   "fmt"
   "math"
)

func main(){
   /* declare a function variable */
   getSquareRoot := func(x float64) float64 {
      return math.Sqrt(x)
   }

   /* use the function */
   fmt.Println(getSquareRoot(9))

}


當(dāng)上述代碼被編譯和執(zhí)行時,它產(chǎn)生了以下結(jié)果:

3

函數(shù)閉包
Go編程語言支持匿名函數(shù)其可以作為函數(shù)閉包。當(dāng)我們要定義一個函數(shù)內(nèi)聯(lián)不傳遞任何名稱,它可以使用匿名函數(shù)。在我們的例子中,我們創(chuàng)建了一個函數(shù)getSequence()將返回另一個函數(shù)。該函數(shù)的目的是關(guān)閉了上層函數(shù)的變量i 形成一個閉合。下面是一個例子:

復(fù)制代碼 代碼如下:

package main

import "fmt"

func getSequence() func() int {
   i:=0
   return func() int {
      i+=1
   return i 
   }
}

func main(){
   /* nextNumber is now a function with i as 0 */
   nextNumber := getSequence() 

   /* invoke nextNumber to increase i by 1 and return the same */
   fmt.Println(nextNumber())
   fmt.Println(nextNumber())
   fmt.Println(nextNumber())
  
   /* create a new sequence and see the result, i is 0 again*/
   nextNumber1 := getSequence() 
   fmt.Println(nextNumber1())
   fmt.Println(nextNumber1())
}


當(dāng)上述代碼被編譯和執(zhí)行時,它產(chǎn)生了以下結(jié)果:

1
2
3
1
2

您可能感興趣的文章:
  • JavaScript碎片—函數(shù)閉包(模擬面向?qū)ο螅?/li>
  • 詳解Swift中的函數(shù)及函數(shù)閉包使用
  • 實例講解Python的函數(shù)閉包使用中應(yīng)注意的問題
  • 解決js函數(shù)閉包內(nèi)存泄露問題的辦法
  • .NET并發(fā)編程之函數(shù)閉包

標(biāo)簽:雅安 宜昌 盤錦 眉山 七臺河 邢臺 紹興 上海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《簡單了解Go語言中函數(shù)作為值以及函數(shù)閉包的使用》,本文關(guān)鍵詞  簡單,了解,語,言中,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《簡單了解Go語言中函數(shù)作為值以及函數(shù)閉包的使用》相關(guān)的同類信息!
  • 本頁收集關(guān)于簡單了解Go語言中函數(shù)作為值以及函數(shù)閉包的使用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章