站長資訊網
        最全最豐富的資訊網站

        golang支持同名方法嗎

        golang支持同名方法。Go語言中允許在同一包中創建兩個或多個具有相同名稱的方法,但是這些方法的接收者必須具有不同的類型;注該功能在Go函數中不可用,這意味著不允許用戶在同一包中創建相同名稱的方法,如果嘗試這樣做,則編譯器將拋出錯誤。

        golang支持同名方法嗎

        php入門到就業線上直播課:進入學習
        Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調試工具:點擊使用

        本教程操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

        Go 同名方法

        在Go語言中,允許在同一包中創建兩個或多個具有相同名稱的方法,但是這些方法的接收者必須具有不同的類型。該功能在Go函數中不可用,這意味著不允許您在同一包中創建相同名稱的方法,如果嘗試這樣做,則編譯器將拋出錯誤。

        語法:

        func(reciver_name_1 Type) method_name(parameter_list)(return_type){     // Code } func(reciver_name_2 Type) method_name(parameter_list)(return_type){     // Code }
        登錄后復制

        讓我們借助示例來討論這個概念:

        范例1:

        package main     import "fmt"    //創建結構體 type student struct {      name   string      branch string  }     type teacher struct {      language string      marks    int }     //名稱相同的方法,但有不同類型的接收器 func (s student) show() {         fmt.Println("學生姓名:", s.name)      fmt.Println("Branch: ", s.branch)  }     func (t teacher) show() {         fmt.Println("Language:", t.language)      fmt.Println("Student Marks: ", t.marks)  }     func main() {         // 初始化結構體的值     val1 := student{"Rohit", "EEE"}         val2 := teacher{"Java", 50}         //調用方法     val1.show()      val2.show()  }
        登錄后復制

        輸出:

        golang支持同名方法嗎

        用法說明:在上面的示例中,我們有兩個相同的名稱方法,即show(),但接收器的類型不同。這里,第一個show()方法包含s student類型的接收者,第二個show()方法包含t teacher類型的接收者。在main()函數中,我們借助各自的結構體變量來調用這兩種方法。如果嘗試使用相同類型的接收器創建此show()方法,則編譯器將拋出錯誤。

        范例2:

        //創建相同名稱的方法 //非結構類型的接收器 package main     import "fmt"    type value_1 string  type value_2 int    //創建具有相同名稱的函數 //不同類型的非結構接收器 func (a value_1) display() value_1 {         return a + ".com" }     func (p value_2) display() value_2 {         return p + 298  }     func main() {         //初始化值      res1 := value_1("nhooo")      res2 := value_2(234)         // 打印顯示結果     fmt.Println("Result 1: ", res1.display())      fmt.Println("Result 2: ", res2.display())  }
        登錄后復制

        輸出:

        golang支持同名方法嗎

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲综合av永久无码精品一区二区| 精品久久久久久无码专区| 久久99精品免费一区二区| 国产精品一区二区av| 四虎国产精品永免费| 99热这里只有精品国产66| 国产精品网站在线观看免费传媒| 久久精品国产一区二区| 91人妻人人澡人人爽人人精品| 国产伦精品免编号公布| 亚洲精品成a人在线观看| 国内精品久久久久国产盗摄| 久久精品成人免费网站| 日韩精品无码久久久久久| 无码人妻精品一区二区三区99不卡 | 在线精品自拍无码| 九九久久精品无码专区| 99热都是精品久久久久久| 久久精品国产久精国产| 国产精品成人观看视频国产| 国产精品拍天天在线| 精品亚洲国产成AV人片传媒| 亚洲Av永久无码精品三区在线| 亚洲精品国产福利一二区| 无码AⅤ精品一区二区三区| 久久久久99精品成人片三人毛片 | 2018国产精华国产精品| 精品久久久无码人妻中文字幕豆芽| 亚洲国产精品无码久久一区二区 | 无码人妻丰满熟妇精品区| 中文字幕精品一区二区三区视频| 欧美午夜精品一区二区三区91| 精品少妇一区二区三区在线| 精品亚洲一区二区三区在线播放| 精品水蜜桃久久久久久久| 精品国产一区二区22| 久久精品成人免费观看97| 久久久久久噜噜精品免费直播| 午夜精品久久久久成人| 中文字幕在线亚洲精品| 亚洲av永久无码精品古装片|