go没有继承,但有个Embedding,这个东西有点类似于组合,写了个小例子,实现多态的效果
package main
import "fmt"
type IMessage interface{
Print()
}
type BaseMessage struct{
msg string
}
func (message *BaseMessage) Print(){
fmt.Println("baseMessage:msg",message.msg)
}
type SubMessage struct{
BaseMessage
}
func main() {
var message IMessage
baseMessage := new(BaseMessage)
baseMessage.msg = "a"
message = baseMessage
message.Print()
SubMessage := new(SubMessage)
SubMessage.msg = "b"
message = SubMessage
message.Print()
}
输出:
baseMessage:msg a
baseMessage:msg b
分享到:
相关推荐
weixin-golang-sdk 微信golang工具包
本文将详细探讨“golang-linux-arm64 SDK”,揭示其核心特性和使用方法,帮助开发者更好地理解和利用这个强大的工具。 一、golang-linux-arm64 SDK简介 golang-linux-arm64 SDK是Go语言针对Linux操作系统和ARM64...
1. **golang-src-1.15.5-1.el7.noarch**: 这个文件包含了Go语言的源代码,允许开发者查看和修改语言的实现,或者在没有预编译二进制的情况下构建Go环境。"noarch" 表示这个包是架构无关的,可以在任何支持的平台上...
总的来说,golang-odbc 驱动为 Go 开发者提供了一种途径,让他们能够利用 ODBC 标准来连接多种数据库系统,从而实现跨平台的数据库访问。不过,使用时应权衡其性能和兼容性,根据实际需求选择最适合的解决方案。
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
构建基础映像(可选) docker build -f Dockerfile_builder -t goreng/golang-cross-builder:1.15.1 . 请先按照指南 建立跨语言的图像docker build --build-arg GO_VERSION=1.16.2 --build-arg GOLANG_DIST_SHA=542...
`golang-set`库提供了一种实现,包括线程安全和非线程安全的高性能集,非常适合在Go的并发环境中使用。 首先,我们要理解什么是线程安全和非线程安全。线程安全指的是在多线程环境下,一个函数或方法在同一时刻可以...
Golang-磁力链接和 BT 种子的搜索引擎
johnnadratowski的golang-neo4j-bolt-driver项目正是利用Go语言特性,为Go开发者提供了与Neo4J数据库通信的接口。 四、golang-neo4j-bolt-driver特性 1. **简单易用**:库的API设计简洁,使得Go开发者能够快速上手...
在golang-net项目中,你可以看到如何利用Go的goroutine和channel实现并发控制,从而高效利用多路复用。 5. 二进制分帧(Binary Framing): HTTP/2的二进制分帧层将HTTP消息划分为可独立处理的数据帧,简化了协议...
golang-stats-api-handler, Golang cpu,内存,gc等信息api处理程序 golang-stats-api-handlerGolang cpu,内存,gc等信息api处理程序。 安装go get github.com/fukata/golang-stats-api-handler示
goLang-v1.23.2
golang-asm Go编译器的汇编器镜像,其中导入路径被重写,以使汇编器可用作独立的库。 按照Go项目的许可。地位工作,但希望挖掘到汇编godoc是制定出什么来设置不同的参数obj.Prog得到它产生的具体说明。例子演示在x86...
开源项目NanXiao-golang-101-hacks.zip是一款专为Go语言初学者和爱好者设计的资源包,它提供了丰富的实践教程和技巧,帮助用户快速掌握Go语言的核心知识。Golang,又称为Go语言,是Google在2009年推出的一种静态类型...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
golang-常用的压缩算法golang-常用的压缩算法
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
开源项目-skx-golang-metrics.zip,Automatically submitting golang-system metrics to a remote carbon/graphite server
总之,"开源项目-golang-go.zip"为学习和研究Go语言提供了一个宝贵的资源,无论是初学者还是经验丰富的开发者,都能从中受益匪浅。通过探索go-master分支,我们可以更深入地理解Go语言的设计哲学,提高我们的编程...