Go语言接口用法实例

 更新时间:2015年02月26日 10:37:52   作者:不是JS  
这篇文章主要介绍了Go语言接口用法,实例分析了Go语言接口的功能、定义及使用技巧,需要的朋友可以参考下

本文实例讲述了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语言程序设计有所帮助。

相关文章

  • 详解go语言的并发

    详解go语言的并发

    这篇文章主要介绍了go语言并发的相关资料,帮助大家更好的理解和学习使用golang,感兴趣的朋友可以了解下
    2021-03-03
  • 详解Go语言中init的使用与常见应用场景

    详解Go语言中init的使用与常见应用场景

    Go 中有一个特别的 init() 函数,它主要用于包的初始化,这篇文章将以此为主题介绍 Go 中 init() 函数的使用和常见使用场景,希望对大家有所帮助
    2024-02-02
  • Golang并发利器sync.Once的用法详解

    Golang并发利器sync.Once的用法详解

    在某些场景下,我们需要初始化一些资源。有时会采用延迟初始化的方式,在真正需要资源的时候才进行初始化。在这种情况下,Go语言中的sync.Once提供一个优雅且并发安全的解决方案,本文将对其进行详细介绍
    2023-04-04
  • 一文教你如何在Golang中用好泛型

    一文教你如何在Golang中用好泛型

    golang的泛型已经出来了一年多了,从提案被接受开始我就在关注泛型了,好用是好用,但问题也很多,所以本文就来教大家如何在Golang中用好泛型吧
    2023-07-07
  • GO语言中defer实现原理的示例详解

    GO语言中defer实现原理的示例详解

    这篇文章主要为大家详细介绍了Go语言中defer实现原理的相关资料,文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,需要的可以参考一下
    2023-02-02
  • 解决golang http重定向失效的问题

    解决golang http重定向失效的问题

    这篇文章主要介绍了解决golang http重定向失效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Golang集成FFmpeg的音视频处理的实现

    Golang集成FFmpeg的音视频处理的实现

    FFmpeg是一个开源的音视频处理工具,广泛用于视频转换、截图、处理和流媒体推送等操作,本文主要介绍了Golang集成FFmpeg的音视频处理的实现,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • Golang简介与基本语法的学习

    Golang简介与基本语法的学习

    这篇文章主要介绍了Golang简介与基本语法的学习,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • go实现脚本解释器gscript

    go实现脚本解释器gscript

    这篇文章主要为大家介绍了go实现脚本解释器gscript示例代码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • golang 自旋锁的实现

    golang 自旋锁的实现

    这篇文章主要介绍了golang 自旋锁的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11

最新评论