最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2016年09月08日 16:20:41   投稿:daisy  
Go本身不具有多態(tài)的特性,不能夠像Java、C++那樣編寫多態(tài)類、多態(tài)方法。但是,使用Go可以編寫具有多態(tài)功能的類綁定的方法。下面來一起看看吧

前言

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;i<2;i++ {
    m[i].sayHello()
  }
}

總結(jié)

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

相關文章

  • 深入淺出go依賴注入工具Wire的使用

    深入淺出go依賴注入工具Wire的使用

    但隨著項目規(guī)模的增長,組件之間的依賴關系變得復雜,手動管理可能會很繁瑣,所以本文將深入探討一個備受歡迎的?Go?語言依賴注入工具——?Wire,感興趣的可以了解下
    2023-09-09
  • golang jwt鑒權的實現(xiàn)流程

    golang jwt鑒權的實現(xiàn)流程

    本文主要介紹了golang jwt鑒權的實現(xiàn)流程,包含生成JWT令牌、客戶端存儲和發(fā)送JWT令牌、服務端驗證JWT令牌等,具有一定的參考價值,感興趣的可以了解一下
    2025-02-02
  • Go數(shù)組與切片輕松掌握

    Go數(shù)組與切片輕松掌握

    在Java的核心庫中,集合框架可謂鼎鼎大名:Array、List、Set等等,隨便拎一個出來都值得開發(fā)者好好學習如何使用甚至是背后的設計源碼。雖然Go語言沒有如此豐富的容器類型,但也有一些基本的容器供開發(fā)者使用,接下來讓我們認識一下這些容器類型吧
    2022-11-11
  • Golang語言中fs.ReadDir的全面指南

    Golang語言中fs.ReadDir的全面指南

    歡迎來到Golang語言中fs.ReadDir的全面指南!這個簡短的引導將讓你掌握如何高效地使用這個功能,一起來深入探索吧,保證你會有所收獲!
    2023-12-12
  • Centos下搭建golang環(huán)境及vim高亮Go關鍵字設置的方法

    Centos下搭建golang環(huán)境及vim高亮Go關鍵字設置的方法

    這篇文章先給大家詳細介紹了在Centos下搭建golang環(huán)境的步驟,大家按照下面的方法就可以自己搭建golang環(huán)境,搭建完成后又給大家介紹了vim高亮Go關鍵字設置的方法,文中通過示例代碼介紹的很詳細,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • go內(nèi)存緩存BigCache實現(xiàn)BytesQueue源碼解讀

    go內(nèi)存緩存BigCache實現(xiàn)BytesQueue源碼解讀

    這篇文章主要為大家介紹了go內(nèi)存緩存BigCache實現(xiàn)BytesQueue源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 基于Golang實現(xiàn)Excel表格的導入導出功能

    基于Golang實現(xiàn)Excel表格的導入導出功能

    最近項目開發(fā)中有涉及到Excel的導入與導出功能,特別是導出表格時需要特定的格式,所以本文給大家介紹了基于Golang實現(xiàn)Excel表格的導入導出功能,文中通過代碼示例和圖文介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • 用go實現(xiàn)反向代理的代碼示例

    用go實現(xiàn)反向代理的代碼示例

    當實現(xiàn)反向代理時,Go語言是一個強大而受歡迎的選擇,Go具有出色的并發(fā)性和網(wǎng)絡編程支持,使其成為構建高性能反向代理的理想工具,在本文中,我將介紹如何使用Go語言實現(xiàn)一個簡單的反向代理服務器,并提供相應的源代碼,需要的朋友可以參考下
    2023-06-06
  • Go 泛型和非泛型代碼詳解

    Go 泛型和非泛型代碼詳解

    Go 在 1.17 中支持泛型,但是默認未開啟;1.18 中會正式支持泛型,下面文章內(nèi)容小編將給大家講解Go 語言中的泛型和非泛型并且附上代碼詳解,剛興趣的小伙伴請參考下面文章的具體內(nèi)容
    2021-10-10
  • Go程序性能優(yōu)化及pprof使用方法詳解

    Go程序性能優(yōu)化及pprof使用方法詳解

    這篇文章主要為大家詳細介紹了Go程序性能優(yōu)化及pprof的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評論

卓尼县| 远安县| 墨脱县| 通江县| 定襄县| 贺州市| 攀枝花市| 维西| 中江县| 平阴县| 鄱阳县| 都昌县| 新乡县| 随州市| 蒙山县| 澄迈县| 当涂县| 大名县| 西城区| 开远市| 永川市| 洞口县| 澄迈县| 海淀区| 桐乡市| 微山县| 资兴市| 易门县| 和平区| 绵阳市| 读书| 巫溪县| 时尚| 百色市| 江口县| 霍林郭勒市| 嘉峪关市| 中牟县| 巴林右旗| 昆明市| 乌兰浩特市|