• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Go语言实现类似c++中的多态功能实例

    前言

    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语言追加内容到文件末尾
    下一篇:深入理解Go语言中的数组和切片
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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