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)
	

}
相关推荐
初级代码游戏3 分钟前
iOS开发 Swift 速记4:函数与闭包
开发语言·ios·swift
郭涤生15 分钟前
C++ 零拷贝(Zero-Copy)
linux·开发语言·c++
回忆2012初秋28 分钟前
C# 中的 EAP:基于事件的异步编程全面指南(一)
开发语言·c#
ty_xiumud30 分钟前
以太网 MAC 详解:帧格式、位序、FCS 与收发流程
开发语言·macos·php
曹牧1 小时前
C#:Type
开发语言·c#
GoFly开发者1 小时前
GoFly 社区 GMQT|国产自研 MQTT‑Broker,打造私有化物联网消息底座
物联网·mqtt·golang·mqtt broker·mqtt私有化部署
小僧景贤2 小时前
嵌入式C语言 第十一篇:成长路线|嵌入式C工程师完整进阶学习路径(从零到工程级落地|含周期+实战项目)
c语言·开发语言·学习
Brilliantwxx2 小时前
【Linux】自动化构建工具 make 与 Makefile
linux·运维·服务器·开发语言·自动化
灵晔君2 小时前
【Linux】进程(四)——进程虚拟地址空间
linux·c语言·开发语言
ao-weilai2 小时前
C++基础:C++11部分内容
开发语言·c++·c++11