91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go語言的接口有什么作用

發布時間:2021-08-27 17:06:40 來源:億速云 閱讀:193 作者:chen 欄目:數據庫

本篇內容主要講解“Go語言的接口有什么作用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Go語言的接口有什么作用”吧!

Go語言-接口

在Go語言中,一個接口類型總是代表著某一種類型(即所有實現它的類型)的行為。一個接口類型的聲明通常會包含關鍵字type、類型名稱、關鍵字interface以及由花括號包裹的若干方法聲明。示例如下:

type Animal interface {    Grow()    Move(string) string}

實現接口

如果一個數據類型所擁有的方法集合中包含了某一個接口類型中的所有方法聲明的實現,那么就可以說這個數據類型實現了那個接口類型。

你可能已經意識到,我們無需在一個數據類型中聲明它實現了哪個接口。只要滿足了“方法集合為其超集”的條件,就建立了“實現”關系。這是典型的無侵入式的接口實現方法。

package main      import (          "fmt"      )      // 定義一個接口      type People interface {          ReturnName() string      }      // 定義一個結構體      type Student struct {          Name string      }      // 定義結構體的一個方法。      // 這個方法同接口People的所有方法,此時可直接認為結構體Student實現了接口People      func (s Student) ReturnName() string {          return s.Name      }      func main() {          cbs := Student{Name:"咖啡色的羊駝"}          var a People                a = cbs                 name := a.ReturnName()           fmt.Println(name) // 輸出"咖啡色的羊駝"      }

如何測試是否已實現該接口

h, ok := a.(People)

這種方式稱為類型斷言表達式。

a.(People)的求值結果可以有兩個:

第一個結果是被轉換后的那個目標類型(這里是Student)的值.

而第二個結果則是轉換操作成功與否的標志。

空接口 interface{}

空接口就是不包含任何方法的接口。正因為如此,所有的數據類型都實現了空接口。就像Java中的Object類一樣。
因此空接口可以存儲任意類型的數據。

到此,相信大家對“Go語言的接口有什么作用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

达日县| 沁源县| 修武县| 西平县| 新民市| 西安市| 吉木萨尔县| 海安县| 奉节县| 富川| 屏南县| 罗田县| 宁德市| 四川省| 军事| 开远市| 屯门区| 南平市| 梁山县| 雷州市| 惠东县| 巩义市| 苍南县| 鄂尔多斯市| 克什克腾旗| 循化| 丹东市| 沂南县| 神池县| 黔东| 汾西县| 安新县| 莒南县| 普陀区| 长治县| 衡南县| 宁强县| 永城市| 许昌县| 雷州市| 益阳市|