大家好,今天小編來為大家解答以下的問題,關于Interfaces這個很多人還不知道,現在讓我們一起來看看吧!
接口類型被定義為一組方法簽名 。

文章插圖
接口類型的值可以包括實現這些方法的任何值 。
package mainimport (& 34;& 34;)type Abser interface {Abs() float64}type MyFloat float64func (f MyFloat) Abs() float64 {if f < 0 {return float64(-f)}return float64(f)}type Vertex struct {X, Y float64}func (v *Vertex) Abs() float64 {return math.Sqrt(v.X*v.X + v.Y*v.Y)}func main() {var a Abserf := MyFloat(-math.Sqrt2)v := Vertex{3, 4}a = f// a MyFloat implements Absera = &v // a *Vertex implements Abser// In the following line, v is a Vertex (not *Vertex)// and does NOT implement Abser.a = vfmt.Println(a.Abs())}
注意:第22行的示例代碼中有一個毛病 。Vertex(值類型)不實現Abser , 由于Abs方法僅在*Vertex(指針類型)上定義 。
【Interfaces】關于“Interfaces”的內容,小編就分享到這里了,大家還有哪些需要補充的呢?無妨在評論區留言分享,讓更多的朋友受益!您的每一個留言,和每一個贊,都是我前進的動力!喜歡的話記得收藏、分享給身旁的朋友 。
- 什么是“笑氣”
- 民間祭灶風俗的簡介
- 孫世杰和吳月紅
- 中元節由來和風俗
- 下雨聲……并不是龍吟
- 李靚蕾學歷背景暴光,集顏值與能力于一身
- 情為什么物?在仕途眼前一文不值。
- 家境一般也有好就業的專業,發展前景也不差,家長可以參考
- 后世對歷史的獵奇心理
- 確實的憑證價值
