午夜精品人妻久久久-成年美女很黄的网站-在线看片免费人成视久网app-国产精品美女无遮挡一区二区-91精品国产综合久久久久-国产的免费视频又猛又爽又刺激-在线看片免费人成视久网app-久久香蕉国产精品视频-av一区二区三区高清

Interfaces

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

Interfaces

文章插圖
接口類型的值可以包括實(shí)現(xiàn)這些方法的任何值 。
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行的示例代碼中有一個(gè)毛病 。Vertex(值類型)不實(shí)現(xiàn)Abser , 由于Abs方法僅在*Vertex(指針類型)上定義 。
【Interfaces】關(guān)于“Interfaces”的內(nèi)容,小編就分享到這里了,大家還有哪些需要補(bǔ)充的呢?無(wú)妨在評(píng)論區(qū)留言分享,讓更多的朋友受益!您的每一個(gè)留言,和每一個(gè)贊,都是我前進(jìn)的動(dòng)力!喜歡的話記得收藏、分享給身旁的朋友 。