<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 1390字,需瀏覽 3分鐘

           ·

          2021-09-19 12:47

          函數(shù)類型(function types)是一種很特殊的類型,它表示著所有擁有同樣的入?yún)㈩愋秃头祷刂殿愋偷暮瘮?shù)集合。

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

          type Greeting func(name string) string

          這種類型有兩個(gè)特征:

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

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

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

          func english(name string) string {
              return "Hello, " + name
          }

          // 轉(zhuǎn)換成 Greeting 類型的函數(shù)對(duì)象
          greet := Greeting(english)
          // 或者
          var greet Greeting = english

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

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

          直接調(diào)用試試看,并不會(huì)報(bào)錯(cuò)

          greet.say("World")

          將上面的代碼整合在一起

          package main

          import "fmt"

          // Greeting function types
          type Greeting func(name string) string

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

          func english(name string) string {
              return "Hello, " + name
          }

          func main() {
              greet := Greeting(english)
              greet.say("World")
          }
          // output: Hello, World


             


          喜歡明哥文章的同學(xué)
          歡迎長(zhǎng)按下圖訂閱!

          ???

          瀏覽 39
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  丁香五月激情中文字幕 | 无码高清一区二区 | 国产成人精品一区二区三区四区五区 | 91嫩|婷婷丨入口图片 | 日韩爱爱免费视频 |