Interfaces

接口类型被定义为一组方法签名。接口类型的值可以包括实现这些方法的任何值。package mainimport (& 34;& 34;)type Abser interface {Abs() float

大家好,今天小编来为大家解答以下的问题,关于Interfaces这个很多人还不知道,现在让我们一起来看看吧!

接口类型定义为一组方法签名。

ICON UI interface

接口类型的值可以包括实现这些方法的任何值。

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”的内容,小编就分享到这里了,大家还有哪些需要补充的呢?无妨在评论区留言分享,让更多的朋友受益!您的每一个留言,和每一个赞,都是我前进的动力!喜欢的话记得收藏、分享给身旁的朋友。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至81118366@qq.com举报,一经查实,本站将立刻删除。发布者:彼岸花,转载请注明出处:https://www.jianzixun.com/140417.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫

相关推荐

软文友链广告合作联系站长qq81118366