91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

golang支不支持同名方法

發布時間:2022-12-09 09:46:56 來源:億速云 閱讀:164 作者:iii 欄目:編程語言

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

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

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支不支持同名方法

到此,相信大家對“golang支不支持同名方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

明光市| 昆明市| 华宁县| 邓州市| 曲麻莱县| 石泉县| 新绛县| 柳林县| 资溪县| 宁安市| 扶风县| 安顺市| 天长市| 平泉县| 凭祥市| 农安县| 兴业县| 广平县| 威海市| 朝阳区| 潜山县| 剑河县| 乌鲁木齐县| 凤阳县| 陆河县| 高邑县| 建平县| 蓬莱市| 内黄县| 合山市| 滕州市| 横峰县| 宿迁市| 奉化市| 河东区| 旬邑县| 独山县| 南京市| 大宁县| 潼关县| 许昌县|