亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Golang 菜鳥(niǎo)教程

Golang 控制語(yǔ)句

Golang 函數(shù) & 方法

Golang 結(jié)構(gòu)體

Golang 切片 & 數(shù)組

Golang 字符串(String)

Golang 指針

Golang 接口

Golang 并發(fā)

Golang 異常(Error)

Golang 其他雜項(xiàng)

Go 語(yǔ)言匿名函數(shù)

Go語(yǔ)言提供了一種稱為匿名函數(shù)的特殊函數(shù)。匿名函數(shù)是不包含任何名稱的函數(shù)。當(dāng)您要?jiǎng)?chuàng)建內(nèi)聯(lián)函數(shù)時(shí),此函數(shù)很有用。在Go語(yǔ)言中,匿名函數(shù)可以形成閉包。匿名函數(shù)也稱為函數(shù)字面量。

語(yǔ)法:

    func(parameter_list) return_type {
        //代碼
        //如果給定return_type,則使用return語(yǔ)句
        //如果未提供return_type,則不
        //使用return語(yǔ)句
        return
    }()
package main 
  
import "fmt"
  
func main() { 
      
    //匿名函數(shù)
   func(){ 
  
      fmt.Println("Welcome! to (cainiaoplus.com)") 
  }() 
    
}

輸出:

Welcome! to (cainiaoplus.com)

重要事項(xiàng):

  • 在Go語(yǔ)言中,可以將匿名函數(shù)分配給變量。將函數(shù)分配給變量時(shí),變量的類型就是函數(shù)類型,您可以像調(diào)用函數(shù)一樣調(diào)用該變量,如以下示例所示。

    package main 
      
    import "fmt"
      
    func main() { 
          
        // 分配一個(gè)匿名函數(shù)到一個(gè)變量
       value := func(){ 
          fmt.Println("Welcome! to (cainiaoplus.com)") 
      } 
      value() 
        
    }

    輸出:

    Welcome! to (cainiaoplus.com)
  • 您也可以在匿名函數(shù)中傳遞參數(shù)。

    package main 
      
    import "fmt"
      
    func main() { 
          
        //在匿名函數(shù)傳遞參數(shù)
      func(ele string){ 
          fmt.Println(ele) 
      }("nhooo") 
        
    }

    輸出:

    nhooo
  • 您還可以將匿名函數(shù)作為參數(shù)傳遞給其他函數(shù)。

    package main 
      
    import "fmt"
      
      
      //匿名函數(shù)作為參數(shù)傳遞  
     func GFG(i func(p, q string)string){ 
         fmt.Println(i ("Geeks", "for")) 
           
     } 
        
    func main() { 
        value:= func(p, q string) string{ 
            return p + q + "Geeks"
        } 
        GFG(value) 
    }

    輸出:

    nhooo
  • 您還可以從另一個(gè)函數(shù)返回匿名函數(shù)。

    package main 
      
    import "fmt"
      
     //返回匿名函數(shù)
     func GFG() func(i, j string) string{ 
         myf := func(i, j string)string{ 
              return i + j + "nhooo"
         } 
        return myf 
     } 
        
    func main() { 
        value := GFG() 
        fmt.Println(value("Welcome ", "to ")) 
    }

    輸出:

    Welcome to nhooo