您现在的位置是:首页 > 网站制作 > gogo

Go 语言接口

胜于蓝2013-12-30【go】人已围观

简介Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。实例实例/* 定义接口 */
type interface_nam

Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。SlT胜于蓝|优秀个人博客

实例

实例

/* 定义接口 */SlT胜于蓝|优秀个人博客
type interface_name interface {SlT胜于蓝|优秀个人博客
   method_name1 [return_type]SlT胜于蓝|优秀个人博客
   method_name2 [return_type]SlT胜于蓝|优秀个人博客
   method_name3 [return_type]SlT胜于蓝|优秀个人博客
   ...SlT胜于蓝|优秀个人博客
   method_namen [return_type]SlT胜于蓝|优秀个人博客
}SlT胜于蓝|优秀个人博客
SlT胜于蓝|优秀个人博客
/* 定义结构体 */SlT胜于蓝|优秀个人博客
type struct_name struct {SlT胜于蓝|优秀个人博客
   /* variables */SlT胜于蓝|优秀个人博客
}SlT胜于蓝|优秀个人博客
SlT胜于蓝|优秀个人博客
/* 实现接口方法 */SlT胜于蓝|优秀个人博客
func (struct_name_variable struct_name) method_name1() [return_type] {SlT胜于蓝|优秀个人博客
   /* 方法实现 */SlT胜于蓝|优秀个人博客
}SlT胜于蓝|优秀个人博客
...SlT胜于蓝|优秀个人博客
func (struct_name_variable struct_name) method_namen() [return_type] {SlT胜于蓝|优秀个人博客
   /* 方法实现*/SlT胜于蓝|优秀个人博客
}

实例

实例

package mainSlT胜于蓝|优秀个人博客
SlT胜于蓝|优秀个人博客
import (SlT胜于蓝|优秀个人博客
    "fmt"SlT胜于蓝|优秀个人博客
)SlT胜于蓝|优秀个人博客
SlT胜于蓝|优秀个人博客
type Phone interface {SlT胜于蓝|优秀个人博客
    call()SlT胜于蓝|优秀个人博客
}SlT胜于蓝|优秀个人博客
SlT胜于蓝|优秀个人博客
type NokiaPhone struct {SlT胜于蓝|优秀个人博客
}SlT胜于蓝|优秀个人博客
SlT胜于蓝|优秀个人博客
func (nokiaPhone NokiaPhone) call() {SlT胜于蓝|优秀个人博客
    fmt.Println("I am Nokia, I can call you!")SlT胜于蓝|优秀个人博客
}SlT胜于蓝|优秀个人博客
SlT胜于蓝|优秀个人博客
type IPhone struct {SlT胜于蓝|优秀个人博客
}SlT胜于蓝|优秀个人博客
SlT胜于蓝|优秀个人博客
func (iPhone IPhone) call() {SlT胜于蓝|优秀个人博客
    fmt.Println("I am iPhone, I can call you!")SlT胜于蓝|优秀个人博客
}SlT胜于蓝|优秀个人博客
SlT胜于蓝|优秀个人博客
func main() {SlT胜于蓝|优秀个人博客
    var phone PhoneSlT胜于蓝|优秀个人博客
SlT胜于蓝|优秀个人博客
    phone = new(NokiaPhone)SlT胜于蓝|优秀个人博客
    phone.call()SlT胜于蓝|优秀个人博客
SlT胜于蓝|优秀个人博客
    phone = new(IPhone)SlT胜于蓝|优秀个人博客
    phone.call()SlT胜于蓝|优秀个人博客
SlT胜于蓝|优秀个人博客
}

在上面的例子中,我们定义了一个接口Phone,接口里面有一个方法call()。然后我们在main函数里面定义了一个Phone类型变量,并分别为之赋值为NokiaPhone和IPhone。然后调用call()方法,输出结果如下:SlT胜于蓝|优秀个人博客

I am Nokia, I can call you!
I am iPhone, I can call you!

Tags:

很赞哦! ()

上一篇:Go 语言类型转换

下一篇:Go 错误处理

文章评论

当前时间

合作加盟

  • 快钱POSS机
  • 费率:0.038%(刷1万=38元手续费)
  • 单笔最高刷卡金额:5万
  • 单月最高刷卡金额:600万

快钱代理公告

  • 凡事扫码代理必须实名认证
  • 实名认证后才可拉进代理微信群
  • 代理微信群有相关活动政策等

本站推荐

站点信息

  • 建站时间:2018-10-24
  • 网站程序:帝国CMS7.5
  • 主题模板《今夕何夕》
  • 文章统计1610篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 微信公众号:扫描二维码,关注我们

X客服在线

关于

服务时间

周一至周日 9:00-22:00