av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

如何使用Go中的函數(shù)類型(FunctionTypes)?

=[[423991]]

創(chuàng)新互聯(lián)-專業(yè)網站定制、快速模板網站建設、高性價比濰城網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式濰城網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋濰城地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。

函數(shù)類型(function types)是一種很特殊的類型,它表示著所有擁有同樣的入參類型和返回值類型的函數(shù)集合。

如下這一行代碼,定義了一個名叫 Greeting 的函數(shù)類型

 
 
 
  1. type Greeting func(name string) string

這種類型有兩個特征:

只接收一個參數(shù) ,并且該參數(shù)的類型為 string

返回值也只有一個參數(shù),其類型為 string

一個函數(shù)只要滿足這些特征,那么它就可以通過如下方式將該函數(shù)轉換成 Greeting 類型的函數(shù)對象(也即 greet)

 
 
 
  1. func english(name string) string {
  2.     return "Hello, " + name
  3. }
  4. // 轉換成 Greeting 類型的函數(shù)對象
  5. greet := Greeting(english)
  6. // 或者
  7. var greet Greeting = english

greet 做為 Greeting 類型的對象,也擁有 Greeting 類型的所有方法,比如下面的 say 方法

 
 
 
  1. func (g Greeting) say(n string) {
  2.     fmt.Println(g(n))
  3. }

直接調用試試看,并不會報錯

 
 
 
  1. greet.say("World")

將上面的代碼整合在一起

 
 
 
  1. package main
  2. import "fmt"
  3. // Greeting function types
  4. type Greeting func(name string) string
  5. func (g Greeting) say(n string) {
  6.     fmt.Println(g(n))
  7. }
  8. func english(name string) string {
  9.     return "Hello, " + name
  10. }
  11. func main() {
  12.     greet := Greeting(english)
  13.     greet.say("World")
  14. }
  15. // output: Hello, World

名稱欄目:如何使用Go中的函數(shù)類型(FunctionTypes)?
轉載注明:http://uogjgqi.cn/article/djjgsge.html
掃二維碼與項目經理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流