第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

匿名函數(shù)返回結(jié)果的意義何在?

匿名函數(shù)返回結(jié)果的意義何在?

Go
慕尼黑8549860 2022-08-24 20:19:37
這是我在網(wǎng)上找到的示例代碼。func FindBestKElements(nums []int, k int) []int {    h := &IntHeap{}    for _, val := range nums { // O(N)        heap.Push(h, val) // O(log K)        if h.Len() > k {            heap.Pop(h) // O(log K)        }    }    return func() []int { // O (k log k)        result := make([]int, h.Len())        initialLen := h.Len()        for i := initialLen; i > 0; i-- {            result[i-1] = heap.Pop(h).(int)        }        return result    }()}該函數(shù)的 return 語(yǔ)句返回運(yùn)行匿名函數(shù)的結(jié)果。我不確定這樣做會(huì)給你帶來(lái)什么好處。例如,為什么我們不能像下面這樣編寫(xiě)上述方法?func FindBestKElements(nums []int, k int) []int {    h := &IntHeap{}    for _, val := range nums { // O(N)        heap.Push(h, val) // O(log K)        if h.Len() > k {            heap.Pop(h) // O(log K)        }    }    result := make([]int, h.Len())    initialLen := h.Len()    for i := initialLen; i > 0; i-- {        result[i-1] = heap.Pop(h).(int)    }    return result}
查看完整描述

1 回答

?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

在給定的示例中,它似乎是多余的。但是,在某些情況下,它可能是有用的。舉個(gè)例子:


package main


func main() {

   a := []int{10, 20, 30, 40}

   var b bool

   for _, n := range a {

      if n == 20 { b = true }

   }

   if b {

      println("pass")

   } else {

      println("fail")

   }

}

您可以使用另一個(gè)函數(shù)來(lái)代替狀態(tài)變量:b


package main


func main() {

   a := []int{10, 20, 30, 40}

   if func() bool {

      for _, n := range a {

         if n == 20 { return true }

      }

      return false

   }() {

      println("pass")

   } else {

      println("fail")

   }

}


查看完整回答
反對(duì) 回復(fù) 2022-08-24
  • 1 回答
  • 0 關(guān)注
  • 108 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)