文档章节

Go (interface)接口

老汉-憨憨
 老汉-憨憨
发布于 2017/05/06 22:08
字数 82
阅读 18
收藏 0
// interface.go
package main

import (
	"fmt"
)

type Phone interface {
	call()
}

type NokiaPhone struct {
}

type IPhone struct {
}

type Android struct {
}

func (nokia NokiaPhone) call() {
	fmt.Println("I am Nokia!")
}

func (ios IPhone) call() {
	fmt.Println("I am IPhone!")
}

func (and Android) call() {
	fmt.Println("I am Android!")
}

func main() {
	var phone Phone

	phone = new(NokiaPhone)
	phone.call()

	phone = new(IPhone)
	phone.call()

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

输出结果:

I am Nokia!
I am IPhone!
I am Android!

 

© 著作权归作者所有

下一篇: Go 错误处理
老汉-憨憨
粉丝 20
博文 322
码字总数 68382
作品 0
深圳
程序员
私信 提问
🔌 TS 的 Interface 了解一下?

Interface 是一种描述对象或函数的东西。你可以把它理解为形状,一个对象需要有什么样的属性,函数需要什么参数或返回什么样的值,数组应该是什么样子的,一个类和继承类需要符合什么样的描述...

Oliveryoung
03/19
0
0
Golang interface类型

我们知道 Golang 中没有 class 的概念,而是通过 interface 类型转换支持在动态类型语言中常见的 鸭子类型达到运行时多态的效果。官方文档中对 Interface 是这样定义的: An interface type ...

吃一堑消化不良
2016/12/14
46
0
asp.netcore di 实现批量接口注入

//批量接口注入 var accessImpleAndInterfaces = AssemblyHelper.GetImpleAndInterfaces("DJMS.DataAccess", "Access"); foreach (var v in accessImpleAndInterfaces) services.AddScoped(v......

willhuo
05/01
0
0
Netscreen防火墙常用命令-接口篇

Netscreen防火墙常用命令-接口篇 ns25-> get interface //查看接口信息 A - Active, I - Inactive, U - Up, D - Down, R - Ready Interfaces in vsys Root: Name IP Address Zone MAC VLAN S......

msft
2018/06/26
0
0
C# explicit interface implementation(显式接口实现)

C# explixit interface implementation 某个类要实现两个包含相同方法名的接口, 应该如何实现这两个方法? 1 namespace ExplicitInterfaceImplementation 2 { 3 class Program : IPrintOne,...

DavidXyw
05/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊Elasticsearch的MonitorService

序 本文主要研究一下Elasticsearch的MonitorService MonitorService elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/monitor/MonitorService.java public class MonitorServic......

go4it
26分钟前
1
0
二、Docker

1、Docker - The TLDR(Too Long,Don't Read,Linxu 终端工具 ) Docker是在Linux和Windows上运行的软件。它创建、管理和编排容器。该软件以开源方式开发,在Github上作为Moby开源项目的一部分。...

倪伟伟
39分钟前
2
0
Python猫荐书系列之七:Python入门书籍有哪些?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/ArN-6mLPzPT8Zoq0Na_tsg 最近,猫哥的 Python 技术学习群里进来了几位比较特殊的同学:一...

豌豆花下猫
今天
5
0
Guava RateLimiter限流源码解析和实例应用

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高...

算法之名
今天
13
0
国产达梦数据库与MySQL的区别

背景 由于项目上的需要,把项目实现国产化,把底层的MySQL数据库替换为国产的达梦数据库,花了一周的时间研究了国产的数据库-达梦数据库,它和MySQL有一定的区别,SQL的写法也有一些区别。 ...

TSMYK
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部