国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

Go語言實現類似c++中的多態功能實例

2020-04-01 19:08:39
字體:
來源:轉載
供稿:網友

前言

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

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五指山市| 左贡县| 政和县| 两当县| 屏南县| 营山县| 云龙县| 安图县| 中宁县| 邻水| 乌拉特中旗| 西乌珠穆沁旗| 英吉沙县| 奉贤区| 博湖县| 东至县| 临沧市| 镇巴县| 沐川县| 鄂托克旗| 信阳市| 海原县| 临海市| 军事| 綦江县| 神木县| 社旗县| 青龙| 龙川县| 都匀市| 略阳县| 定襄县| 体育| 新余市| 化州市| 手机| 神农架林区| 商南县| 汉源县| 武夷山市| 张家界市|