Go 语言编程 — 高级数据类型 — 接口

   日期:2020-07-07     浏览:95    评论:0    
核心提示:目录文章目录目录接口接口接口是 Golang 提供的一种数据类型,使用 type 和 interface 关键字来声明。接口可以把所有的具有共性的方法(Method)集合在一起,任何其他类型只要实现了这些方法就是实现了这个接口。格式:type interface_name interface { method_name1 [return_type] method_name2 [return_type] method_name3 [return_type]

目录

文章目录

  • 目录
  • 接口

接口

接口是 Golang 提供的一种数据类型,使用 type 和 interface 关键字来声明。接口可以把所有的具有共性的方法(Method)集合在一起,任何其他类型只要实现了这些方法就是实现了这个接口。

格式:


type interface_name interface {
   method_name1 [return_type]
   method_name2 [return_type]
   method_name3 [return_type]
   ...
   method_namen [return_type]
}


type struct_name struct {
   
}


func (struct_name_variable struct_name) method_name1() [return_type] {
   
}
...
func (struct_name_variable struct_name) method_namen() [return_type] {
   
}

示例:定义了一个接口 Phone,在这个接口里面有一个方法 call()。然后我们在 main 函数里面定义了一个 Phone(接口)类型变量,并分别为之赋值为 NokiaPhone 和 IPhone,然后调用 call() 方法。

package main

import "fmt"

type Phone interface {
    call()
}

type NokiaPhone struct {
}

func (nokiaPhone NokiaPhone) call() {
    fmt.Println("I am Nokia, I can call you!")
}

type IPhone struct {
}

func (iPhone IPhone) call() {
    fmt.Println("I am iPhone, I can call you!")
}

func main() {
    var phone Phone

    phone = new(NokiaPhone)
    phone.call()

    phone = new(IPhone)
    phone.call()
}

结果:

I am Nokia, I can call you!
I am iPhone, I can call you!
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服