Golang 中同名的方法

Golang 允許在同一個套件中建立兩個或多個同名的方法,但是這些方法的接收者必須是不同的類型。 Go 函數中不提供此功能,這表示您不允許在同一個套件中建立具有相同名稱的方法,如果您嘗試這樣做,編譯器將給您一個錯誤。

Golang 中同名的方法

句法:

func(reciver_name_1 Type) method_name(parameter_list)(return_type){

// Code

}


func(reciver_name_2 Type) method_name(parameter_list)(return_type){

// Code

}

我們來看下面的例子,以便更好地理解 Golang 中同名的方法:

例 1:

// Chương trình Go minh họa cách
// tạo các phương thức cùng tên
package main 

import "fmt"

// Tạo các cấu trúc
type student struct { 
	name string 
	branch string 
} 

type teacher struct { 
	language string 
	marks int
} 

// Các phương thức cùng tên nhưng với
// kiểu receiver khác nhau
func (s student) show() { 

	fmt.Println("Name of the Student:", s.name) 
	fmt.Println("Branch: ", s.branch) 
} 

func (t teacher) show() { 

	fmt.Println("Language:", t.language) 
	fmt.Println("Student Marks: ", t.marks) 
} 

// Hàm chính
func main() { 

	// Khởi tạo các giá trị
	// of the structures 
	val1 := student{"Rohit", "EEE"} 

	val2 := teacher{"Java", 50} 

	// Gọi các phương thức
	val1.show() 
	val2.show() 
} 

結果:

Name of the Student: Rohit
Branch:  EEE
Language: Java
Student Marks:  50

說明:在上面的例子中,我們有兩個同名的方法,即show()但接收類型不同。這裡,第一個show()方法包含student類型的s ,第二個show()方法包含teacher類型的t。在main()函數中,我們藉助各自的結構變數來呼叫這兩種方法。如果您嘗試使用相同的接收器類型來建立這些show()方法,編譯器將會拋出錯誤。

範例 2:

// Chương trình Go minh họa cách
// tạo các phương thức cùng tên
// với receiver không phải struct
package main 

import "fmt"

type value_1 string 
type value_2 int

// Tạo hàm cùng tên với
// các kiểu receiver không phải struct khác nhau
func (a value_1) display() value_1 { 

	return a + "forGeeks"
} 

func (p value_2) display() value_2 { 

	return p + 298 
} 

// Hàm chính
func main() { 

	// Khởi tạo giá trị này
	res1 := value_1("Geeks") 
	res2 := value_2(234) 

	// Hiện kết quả
	fmt.Println("Result 1: ", res1.display()) 
	fmt.Println("Result 2: ", res2.display()) 
} 

結果:

Result 1:  GeeksforGeeks
Result 2: 532
Sign up and earn $1000 a day ⋙

Leave a Comment

如何在 Golang 中使用常數

如何在 Golang 中使用常數

Golang 中的 Constant 或 Const 是什麼?以下是關於在 Go 中使用常數需要了解的內容。

Golang 中的 Volatile 函數

Golang 中的 Volatile 函數

Go 中的可變函數可讓您向函數傳遞可變數量的參數。以下是您需要了解的有關 Golang 中的易失性函數的所有資訊。

Golang 中的命名回傳參數

Golang 中的命名回傳參數

在 Golang 中,命名回傳參數通常被稱為命名參數。 Golang 允許在函數簽章或定義中命名函數的傳回參數或結果。

Go 中的關鍵字

Go 中的關鍵字

關鍵字-關鍵字是語言中用於某些內在過程或代表某些預定義動作的字詞。以下是您需要了解的有關 Golang 中的關鍵字的知識。

Golang中的資料類型

Golang中的資料類型

資料類型指定有效的 Go 變數可以包含的資料類型。 Go語言中,類型分為以下四類:

Golang 中的函數參數

Golang 中的函數參數

Go 支援兩種主要的傳遞參數的方式:按值傳遞和按引用傳遞。 Go 預設使用按值傳遞。

Golang中傳回多個值的函數

Golang中傳回多個值的函數

在Go語言中,允許使用return語句從函數傳回多個值。換句話說,在函數中,一個return語句可以傳回多個值。

Go 中的 Switch 語句

Go 中的 Switch 語句

Golang 和大多數其他程式語言一樣,有 switch 語句。以下是如何在 Golang 中使用 switch 語句。

在 Golang 中使用選擇語句時需要了解的案例

在 Golang 中使用選擇語句時需要了解的案例

在本文中,我們將學習如何使用預設情況來避免死鎖。但首先,讓我們先了解一下使用 Golang select 指令時出現死鎖的情況是什麼?

Golang 中的匿名結構和字段

Golang 中的匿名結構和字段

Golang 中的匿名結構是沒有名稱的一次性臨時結構,而匿名欄位允許嵌入未命名的欄位。

如何在 Golang 中使用 Rune

如何在 Golang 中使用 Rune

Golang 中的 Runes 是什麼?如何在 Golang 中使用 Rune?文章會告訴你答案。

如何在 Golang 中使用運算符

如何在 Golang 中使用運算符

運算符允許我們對操作數執行不同類型的操作。在 Go語言中,運算子可以根據其不同的功能進行分類。

Golang 中的 Void 標識符

Golang 中的 Void 標識符

Golang 中的 _(底線)稱為空白標識符。標識符是程式組件的使用者定義名稱,用於識別目的。

如何用 Golang 創建基本程序

如何用 Golang 創建基本程序

你好世界!是任何程式語言中的第一個基本程式。您可以按照以下步驟使用 Golang 編寫第一個程式。

如何在 Windows 上安裝 Go

如何在 Windows 上安裝 Go

Golang 可以輕鬆安裝在 Windows 上。以下是在 Windows 上安裝 Golang 的詳細逐步指南。

如何在 Golang 中使用常數

如何在 Golang 中使用常數

Golang 中的 Constant 或 Const 是什麼?以下是關於在 Go 中使用常數需要了解的內容。

如何找回被駭客入侵的 Facebook 密碼和遺失的註冊信箱

如何找回被駭客入侵的 Facebook 密碼和遺失的註冊信箱

使用 Facebook 時,有時您的帳號會被駭客入侵、遺失密碼,甚至遺失您的 Facebook 註冊電子郵件。那麼,當您遺失密碼和註冊電子郵件時,如何恢復您的 Facebook 帳號?

如何偽造 iPhone 訊息、創建 Messenger 訊息

如何偽造 iPhone 訊息、創建 Messenger 訊息

當我們可以使用虛假訊息創建應用程式或使用一些完全免費創建虛假訊息的網站時,製作虛假訊息來欺騙人們非常簡單。

終極進化代碼:最新賽亞人以及如何輸入代碼

終極進化代碼:最新賽亞人以及如何輸入代碼

代碼終極進化賽賽亞人為玩家提供了一系列有吸引力的獎勵,並感謝他們在遊戲初期的鑽石、經驗、經驗膠囊、黃金、角色碎片等

如何在 Instagram 個人檔案中編輯預覽照片

如何在 Instagram 個人檔案中編輯預覽照片

Instagram 最近將個人資料網格佈局更改為 4:5 垂直預覽。並且用戶可以自訂預覽圖像以聚焦他們想要的內容。

代號:西遊記 最新 2025年4月25日

代號:西遊記 最新 2025年4月25日

Code Monkey King 為玩家提供一系列誘人的獎勵,例如貨幣、5 星隨機角色碎片、九轉金丹、隨機資源包

使用 Microsoft Word 的 11 種創意方法

使用 Microsoft Word 的 11 種創意方法

當您想到 Microsoft Word 時,您會想到什麼?文件?恢復?雖然這些肯定是它的主要用途,但 Word 也是一個令人驚訝的多功能工具,可用於各種創意專案。

如何在 WhatsApp 狀態中標記好友

如何在 WhatsApp 狀態中標記好友

WhatsApp 已將 WhatsApp 狀態中標記好友的功能更新至 Android 和 iOS 版本的所有帳號。

為每個人收集易於製作、美味、優質的咖啡雞尾酒配方

為每個人收集易於製作、美味、優質的咖啡雞尾酒配方

喜歡咖啡想嘗試製作自己的咖啡雞尾酒嗎?因此以下的文章將為您總結製作簡單、美味且誘人的咖啡雞尾酒的食譜。

《死神》:外貌變化最多的角色

《死神》:外貌變化最多的角色

雖然《死神》系列中有很多角色被認為是可識別的,但這並不一定意味著他們從頭到尾都有相同的外觀。以下是外表發生顯著變化的《死神》角色。

如何優化 Google Chrome 以實現超快速啟動

如何優化 Google Chrome 以實現超快速啟動

我們都遇到過這種情況:點擊 Chrome 圖標,然後等待瀏覽器啟動。等待主頁加載似乎永遠是令人沮喪的。

如何在三星手機上用照片製作貼紙

如何在三星手機上用照片製作貼紙

在某些三星 Galaxy 手機上,有一個從相簿中的照​​片創建貼紙的選項,允許用戶自由創建用於資訊中的貼紙。

如何修復 Windows 中工作管理員不工作的問題

如何修復 Windows 中工作管理員不工作的問題

當任務管理器未運行時,使用者無法使用它。以下是修復 Windows 11/10 PC 上任務管理器無法運作的方法。

絕對戰神最新守則

絕對戰神最新守則

最新的 Code Dau Than Tuyet The 為玩家提供硬幣、金錠和許多其他物品,包括 Nguyen Phach、禮品盒、箱子、Trac Viet 石…

傳說中的龍神代碼及輸入方法

傳說中的龍神代碼及輸入方法

傳奇龍神的禮包獎勵主要為金幣和鑽石。除此之外還有一些獎勵箱、石頭、恢復物品…