主页 > 知识库 > Go语言实现类似c++中的多态功能实例

Go语言实现类似c++中的多态功能实例

热门标签:AI电销 网站排名优化 服务外包 地方门户网站 百度竞价排名 呼叫中心市场需求 铁路电话系统 Linux服务器

前言

Go语言作为编程语言中的后起之秀,在博采众长的同时又不失个性,在注重运行效率的同时又重视开发效率,不失为一种好的开发语言。在go语言中,没有类的概念,但是仍然可以用struct+interface来实现类的功能,下面的这个简单的例子演示了如何用go来模拟c++中的多态的行为。

示例代码

package main
 
 
import "os"
import "fmt"
 
 
type Human interface {
  sayHello()
}
 
 
type Chinese struct {
  name string
}
 
 
type English struct {
  name string
}
 
 
func (c *Chinese) sayHello() {
  fmt.Println(c.name,"说:你好,世界")
}
 
 
func (e *English) sayHello() {
  fmt.Println(e.name,"says: hello,world")
}
 
 
func main() {
  fmt.Println(len(os.Args))
   
  c := Chinese{"汪星人"}
  e := English{"jorn"}
  m := map[int]Human{}
   
  m[0] = c
  m[1] = e
   
  for i:=0;i2;i++ {
    m[i].sayHello()
  }
}

总结

从上面的例子来看,在go中实现类似C++中的多态可谓是非常的简单,只要实现相同的接口即可。

您可能感兴趣的文章:
  • 使用go的interface案例实现多态范式操作
  • golang语言如何将interface转为int, string,slice,struct等类型
  • golang基础之Interface接口的使用
  • golang struct 实现 interface的方法
  • golang中struct和interface的基础使用教程
  • Go之interface的具体使用
  • Go语言中你不知道的Interface详解
  • golang中interface接口的深度解析
  • 浅谈Go语言多态的实现与interface使用

标签:黄山 仙桃 铜川 湖南 湘潭 兰州 衡水 崇左

巨人网络通讯声明:本文标题《Go语言实现类似c++中的多态功能实例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266