go语言接口设计三国人物

题目

请设计一个接口Person,然后设计两个结构体实现Person接口,这两个结构体都代表三国时代的名人。Person接口中有一个方法,该方法输出一句最能代表该人物特点的话。

程序

go 复制代码
package main
import (
	"fmt"
	
)
type Person interface {
    say()
    
}
type CaoCao struct {
    
}

func (person CaoCao) say() {
    fmt.Println("曹操:宁教我负天下人,休教天下人负我!")
}
type XuSheng struct {
}

func (person XuSheng) say() {
    fmt.Println("徐盛:犯大吴疆土者,盛必击而破之!")
}
/*参数是接口的实例*/
func chuiNiu(p Person){
	p.say()
}
func main(){
	c := CaoCao{}
	chuiNiu(c)

	x := XuSheng{}
	chuiNiu(x)
	

}
相关推荐
专注于大数据技术栈几秒前
java学习--String
java·开发语言·学习
Chrikk2 分钟前
基于 RAII 的分布式通信资源管理:NCCL 库的 C++ 封装
开发语言·c++·分布式
A24207349302 分钟前
js常用事件
开发语言·前端·javascript
阿沁QWQ4 分钟前
C++哈希表设计
开发语言·c++·散列表
Fighting_p5 分钟前
【导出】前端 js 导出下载文件时,文件名前后带下划线问题
开发语言·前端·javascript
JIngJaneIL8 分钟前
基于java+ vue畅游游戏销售管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·游戏
春日见9 分钟前
用matlab对相机进行标定获取相机内参
开发语言·数码相机·matlab
周杰伦_Jay9 分钟前
【tRPC-Go 框架】深度解析:特性、架构及与主流RPC框架对比
rpc·架构·golang
while(1){yan}9 分钟前
HTTP的加密过程
java·开发语言·网络·网络协议·http·青少年编程
guygg8815 分钟前
一维移动最小二乘近似的MATLAB程序
开发语言·matlab