• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Golang > Go语言接口定义与用法示例

Go语言接口定义与用法示例

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了go语言示例,go语言接口,go语言,go语言环境搭建,go语言程序设计等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了Go语言接口定义与用法。分享给大家供大家参考,具体如下:

在Go中,接口interface其实和其他语言的接口意思也没什么区别。interface理解其为一种类型的规范或者约定。一种类型是不是“实现”了一个接口呢?就看这种类型是不是实现了接口中定义的所有方法。

1. 接口的定义和使用。

比如
    Get() int
    Put(int)
}</div>
这段话就定义了一个接口,它包含两个函数Get和Put

好了,我的一个接口实现了这个接口:
func (this *S) Get int {
    return this.val
}
func (this *S)Put(v int) {
    this.val = v
}</div>
这个结构S就是实现了接口I

2. 空接口

对于空接口interface{} 其实和泛型的概念很像。任何类型都实现了空接口。

下面举个例子:

一个函数实现这样的功能:

以任何对象作为参数,如果这个对象是实现了接口I,那么就调用接口I的Get方法

很多语言都是这样的逻辑:
    if (obj is I) {
        return (I)obj.Get()
    }
}</div>
Go中是这样实现的:
    return any.(I).Get()
}</div>
这里的any.(I)是不是很语义化?“任何实现了I接口的对象”

3. Go中interface的写法:

下面看几个interface的例子:
    w.Write("pizza")
}</div>
这个例子中,直接将interface定义在参数中,很特别…
  if i ==  0 {
    return "zero"
  }
  return i;
}</div>
这里例子中,由于有可能返回string,也有可能返回int,因此将返回值设置成为interface,这个在Go的package包中会大量见到。

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

</div>

您可能想查找下面的文章:

  • go语言文件正则表达式搜索功能示例
  • Go语言正则表达式示例
  • Go语言接口定义与用法示例
  • go语言if/else语句简单用法示例
  • Go语言展现快速排序算法全过程的思路及代码示例

相关文章

  • 使用Go语言实现微信公众平台
  • golang中strconv.ParseInt函数用法示例
  • Golang学习笔记(五):函数
  • Go语言声明一个多行字符串的变量
  • Go语言开发环境搭建与初探(Windows平台下)
  • golang的HTTP基本认证机制实例详解
  • Go语言中的流程控制结构和函数详解
  • GO语言基本数据类型总结
  • go语言实现处理表单输入
  • GO语言make()分配用法实例

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • golang使用sort接口实现排序示例
    • 深入解析golang编程中函数的用法
    • go语言实现AES加密的方法
    • Go语言算法之寻找数组第二大元素的方法
    • Go语言常用字符串处理方法实例汇总
    • Go语言中使用 buffered channel 实现线程安全的 pool
    • Golang 内存模型详解(一)
    • 如何使用Go语言实现远程执行命令
    • Go语言Echo服务器的方法
    • Go语言实现简单Web服务器的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有