日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Go interface 操作示例

發布時間:2024/9/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Go interface 操作示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文鏈接:Go interface操作示例

特點:

? ? 1.?interface 是一種類型

? ? ? ?interface 是一種具有一組方法的類型,這些方法定義了 interface 的行為。go 允許不帶任何方法的 interface ,這種類型的? ? ? ? ? ?interface 叫?empty interface

? ? 2.?interface 變量存儲的是實現者的值

? ? ? interface 的重要用途就體現在函數參數中,如果有多種類型實現了某個 interface,這些類型的值都可以直接使用interface 的變量存儲。

? ? 3.?空的 interface

? ? ? ?interface{}?是一個空的 interface 類型,根據前文的定義:一個類型如果實現了一個 interface 的所有方法就說該類型實現了這個 interface,空的 interface 沒有方法,所以可以認為所有的類型都實現了?interface{}。如果定義一個函數參數是?interface{}?類型,這個函數應該可以接受任何類型作為它的參數

package mainimport "fmt"type Animal interface {Eat(food string)Call() string }type Sheep struct {food string }// 實現接口方法 func (sheep *Sheep) Eat(food string) {sheep.food = food }// 實現接口方法 func (sheep Sheep) Call() string {fmt.Println("Sheep has eat: ", sheep.food)return "mm" }func main() {var sheep Animal// 兩種寫法一樣// sheep = new(Sheep)sheep = &Sheep{food: ""}sheep.Eat("grass")sing := sheep.Call()fmt.Println("Sheep song: ", sing) }

運行結果如下:

[root@wangjq test]# go run interface.go Sheep has eat: grass Sheep song: mm

?

轉載于:https://www.cnblogs.com/wangjq19920210/p/11514751.html

總結

以上是生活随笔為你收集整理的Go interface 操作示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。