首页 > 编程语言 >Go 面向接口编程

Go 面向接口编程

时间:2023-11-10 10:22:54浏览次数:35  
标签:编程 Dog 接口 Cat say func Go type

接口有什么用?就是存储未实现的方法,作为实现的此方法的结构体的实例的句柄。

type Sayer interface {
	say()
}

type Dog struct {}
type Cat struct {}

func (*Dog) say() {
	fmt.Println("Woew woew")
}

func (*Cat) say() {
	fmt.Println("Meow meow")
}


func main() {
	var x Sayer
	x = &Cat{}
	x.say()
	x = &Dog{}
	x.say()
}

image

标签:编程,Dog,接口,Cat,say,func,Go,type
From: https://www.cnblogs.com/pphboy/p/17823491.html

相关文章

  • D - Good Tuple Problem atcoder abc 327
    D-GoodTupleProblemhttps://atcoder.jp/contests/abc327/tasks/abc327_d 思路https://www.zhihu.com/question/292465499判断二分图的常见方法是染色法:用两种颜色,对所有顶点逐个染色,且相邻顶点染不同的颜色如果发现相邻顶点染了同一种颜色,就认为此图不为二分图当所......
  • C++11 并发编程基础(一):并发、并行与C++多线程
    C++11标准在标准库中为多线程提供了组件,这意味着使用C++编写与平台无关的多线程程序成为可能,而C++程序的可移植性也得到了有力的保证。另外,并发编程可提高应用的性能,这对对性能锱铢必较的C++程序员来说是值得关注的。1.何为并发并发指的是两个或多个独立的活动在同一时段内发生......
  • Java_并发编程
    sleep(longn)和wait(longn)的区别1.sleep是Tread方法,而wait是Object的方法。2.sleep不需要强制和synchronized配合使用,但wait需要和synchronized配合使用。3.sleep在睡眠的同时,不会释放对象锁的,但wait在等待的时候会释放对象锁。相同点:1.它们的状态TIMED_WAITING。......
  • JUC并发编程学习笔记(十八)深入理解CAS
    深入理解CAS什么是CAS为什么要学CAS:大厂你必须深入研究底层!有所突破!java层面的cas------->compareAndSetcompareAndSet(intexpectedValue,intnewValue)期望并更新,达到期望值就更新、否则就不更新!packageorg.example.cas;importjava.util.concurrent.atomic.AtomicI......
  • mongodb如何设置用户名和密码
    1.创建用户//连接到MongoDB数据库mongo//切换到admin数据库useadmin1.1创建root用户db.createUser({  user:"admin",  pwd:"admin123",  roles:[    {role:"userAdminAnyDatabase",db:"admin"},    {role:"dbAdminAnyDatab......
  • OpenFeign 接口调用问题及解决方案
    问题描述如果在同一个工程中出现两个OpenFeign接口使用一样的服务名称会报以下错误:Description:Thebean'optimization-user.FeignClientSpecification',definedinnull,couldnotberegistered.Abeanwiththatnamehasalreadybeendefinedinnullandoverridin......
  • 【django框架】共4大模块50页md学习文档 第5篇:django的请求与响应详解
    当你考虑开发现代化、高效且可扩展的网站和Web应用时,Django是一个强大的选择。Django是一个流行的开源PythonWeb框架,它提供了一个坚实的基础,帮助开发者快速构建功能丰富且高度定制的Web应用整套Django笔记直接地址:请移步这里共10章,31子模块请求与响应学习目标掌握r......
  • 【Django-DRF笔记】使用md笔记0基础到高手. 第(5)篇:Django-DRF序列化和反序列化
    本文从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计RESTAPI,通过使用Django来实现一个RESTAPI为例,明确后端开发RESTAPI要做的最核心工作,然后介绍DjangoRESTframework能帮助我们简化开发RESTAPI的工作。DRF完整版笔记直接地址:请移步这里共5章,24子模块,总计......
  • Django 三板斧的使用 链接数据库
    Django三板斧的使用全局配置文件静态文件的配置request对象的几个方法pycharm链接数据库MySQLDjango链接数据库MySQLORM的使用今日内容详细三板斧的使用三个方法:HttpResponserenderredirectdefindex(request):print('request')#returnHttpResponse......
  • Django框架的基本使用
    在启动django项目的时候一定要确保一个端口只有一个项目创建项目后必须检查settings的app是否注册和templates的DIRSdjango默认的端口号是8000浏览器缓存(开发者面板操作)浏览器右键检查-settings设置-networks网络-disablecache(禁用缓存)命令行操作先选择要创建项目的存储......