欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

golang支不支持同名方法

本篇內(nèi)容主要講解“golang支不支持同名方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“golang支不支持同名方法”吧!

主要從事網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機版網(wǎng)站建設(shè))、成都響應(yīng)式網(wǎng)站建設(shè)、程序開發(fā)、微網(wǎng)站、重慶小程序開發(fā)等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的做網(wǎng)站、成都做網(wǎng)站、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等多方位專業(yè)化運作于一體,具備承接不同規(guī)模與類型的建設(shè)項目的能力。

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

Go 同名方法

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

語法:

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"
  
//創(chuàng)建結(jié)構(gòu)體
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() { 
  
    // 初始化結(jié)構(gòu)體的值
    val1 := student{"Rohit", "EEE"} 
  
    val2 := teacher{"Java", 50} 
  
    //調(diào)用方法
    val1.show() 
    val2.show() 
}

輸出:

golang支不支持同名方法

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

范例2:

//創(chuàng)建相同名稱的方法
//非結(jié)構(gòu)類型的接收器
package main 
  
import "fmt"
  
type value_1 string 
type value_2 int
  
//創(chuàng)建具有相同名稱的函數(shù)
//不同類型的非結(jié)構(gòu)接收器
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) 
  
    // 打印顯示結(jié)果
    fmt.Println("Result 1: ", res1.display()) 
    fmt.Println("Result 2: ", res2.display()) 
}

輸出:

golang支不支持同名方法

到此,相信大家對“golang支不支持同名方法”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!

分享題目:golang支不支持同名方法
網(wǎng)址分享:http://chinadenli.net/article14/gsjoge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作網(wǎng)站策劃外貿(mào)網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)微信小程序ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)