加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Go语言接口用法实例

发布时间:2020-12-16 19:33:51 所属栏目:大数据 来源:网络整理
导读:本篇章节讲解Go语言接口用法。供大家参考研究。具体分析如下: 接口类型是由一组方法定义的集合。 接口类型的值可以存放实现这些方法的任何值。 复制代码 代码如下: package main import ( "fmt" "math" ) type Abser interface { Abs() float64 } f

本篇章节讲解Go语言接口用法。分享给大家供大家参考。具体分析如下:

接口类型是由一组方法定义的集合。
接口类型的值可以存放实现这些方法的任何值。

复制代码 代码如下:
package main
import (
    "fmt"
    "math"
)
type Abser interface {
    Abs() float64
}
func main() {
    var a Abser
    f := MyFloat(-math.Sqrt2)
    v := Vertex{3,4}
    a = f  // a MyFloat implements Abser
    a = &v // a *Vertex implements Abser
    a = v  // a Vertex,does NOT
           // implement Abser
    fmt.Println(a.Abs())
}
type MyFloat float64
func (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)
}

希望本文所述对大家的Go语言程序设计有所帮助。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读