佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Go語言實現(xiàn)類似c++中的多態(tài)功能實例

Go語言實現(xiàn)類似c++中的多態(tài)功能實例

熱門標(biāo)簽:AI電銷 網(wǎng)站排名優(yōu)化 服務(wù)外包 地方門戶網(wǎng)站 百度競價排名 呼叫中心市場需求 鐵路電話系統(tǒng) Linux服務(wù)器

前言

Go語言作為編程語言中的后起之秀,在博采眾長的同時又不失個性,在注重運行效率的同時又重視開發(fā)效率,不失為一種好的開發(fā)語言。在go語言中,沒有類的概念,但是仍然可以用struct+interface來實現(xiàn)類的功能,下面的這個簡單的例子演示了如何用go來模擬c++中的多態(tài)的行為。

示例代碼

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()
  }
}

總結(jié)

從上面的例子來看,在go中實現(xiàn)類似C++中的多態(tài)可謂是非常的簡單,只要實現(xiàn)相同的接口即可。

您可能感興趣的文章:
  • 使用go的interface案例實現(xiàn)多態(tài)范式操作
  • golang語言如何將interface轉(zhuǎn)為int, string,slice,struct等類型
  • golang基礎(chǔ)之Interface接口的使用
  • golang struct 實現(xiàn) interface的方法
  • golang中struct和interface的基礎(chǔ)使用教程
  • Go之interface的具體使用
  • Go語言中你不知道的Interface詳解
  • golang中interface接口的深度解析
  • 淺談Go語言多態(tài)的實現(xiàn)與interface使用

標(biāo)簽:黃山 仙桃 銅川 湖南 湘潭 蘭州 衡水 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go語言實現(xiàn)類似c++中的多態(tài)功能實例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    榆树市| 伊通| 洪江市| 南京市| 平湖市| 定襄县| 沁水县| 家居| 益阳市| 双柏县| 义马市| 沁源县| 绍兴市| 惠州市| 昭通市| 任丘市| 喀什市| 新津县| 临海市| 宁城县| 娄烦县| 西乡县| 江山市| 肇东市| 新宁县| 乐平市| 沂南县| 东方市| 蕉岭县| 磐安县| 得荣县| 凤凰县| 新泰市| 简阳市| 西林县| 乐安县| 通海县| 泸定县| 宽城| 南京市| 铁岭县|