Methods with the same name in Golang

Golang  allows creating two or more methods with the same name in the same package, but the receivers of these methods must be of different types. This feature is not available in Go functions, which means you are not allowed to create methods with the same name in the same package, if you try to do so, the compiler will throw an error.

Methods with the same name in Golang

Syntax:

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

// Code

}


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

// Code

}

Let's look at the following example to better understand methods with the same name in Golang:

Example 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() 
} 

Result:

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

Explanation: In the above example, we have two methods with the same name i.e. show() but with different types. Here, the first show() method contains s of type student and the second show() method contains t of type teacher . And in the main() function, we call both the methods with the help of their respective structure variables. If you try to create these show() methods with the same type, then the compiler will throw an error.

Example 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:

Result 1:  GeeksforGeeks
Result 2: 532

Leave a Comment

How to use constants in Golang

How to use constants in Golang

What is a Constant or Const in Golang? Here's what you need to know about using constants in Go.

Volatile functions in Golang

Volatile functions in Golang

Variadic functions in Go allow you to pass a variable number of arguments to a function. Here's everything you need to know about variadic functions in Golang.

Named return parameters in Golang

Named return parameters in Golang

In Golang, named return parameters are often referred to as named parameters. Golang allows naming the return parameters or results of functions in the function signature or definition.

Keywords in Go

Keywords in Go

Keyword - Keywords are words in a language that are used for some internal processes or represent some predefined actions. Here is what you need to know about keywords in Golang.

Data types in Golang

Data types in Golang

Data types specify what type of data a valid Go variable can hold. In the Go language, types are divided into four categories as follows:

Function arguments in Golang

Function arguments in Golang

Go supports two main ways to pass arguments: Pass by Value and Pass by Reference. Go uses pass by value by default.

Function returning multiple values ​​in Golang

Function returning multiple values ​​in Golang

In Go language, you are allowed to return multiple values ​​from a function, using the return statement. In other words, in a function, a return statement can return multiple values.

Switch Statement in Go

Switch Statement in Go

Golang like most other programming languages ​​has switch statement. Here is how to use switch statement in Golang.

Cases to know when using selection statements in Golang

Cases to know when using selection statements in Golang

In this article, we will learn how to use default case to avoid deadlock. But first, we will learn what is deadlock case when using select command in Golang?

Anonymous structures and fields in Golang

Anonymous structures and fields in Golang

Anonymous structs in Golang are temporary structures with no names used for one-time purposes, while anonymous fields allow embedding of unnamed fields.

How to use Rune in Golang

How to use Rune in Golang

What is Rune in Golang? How to use Rune in Golang? This article will give you the answer.

How to use operators in Golang

How to use operators in Golang

Operators allow us to perform different types of operations on operands. In Go language, operators can be classified based on their different functions.

Void identifier in Golang

Void identifier in Golang

_(underscore) in Golang is called Blank Identifier. Identifier is a user-defined name of program elements used for identification purposes.

How to create basic program in Golang

How to create basic program in Golang

Hello, World! is the first basic program in any programming language. You can write this first program in Golang by following the steps below.

How to Install Go on Windows

How to Install Go on Windows

Golang can be easily installed on Windows. Here is a step-by-step guide to install Golang on Windows.

How to Fix Microsoft Teams Workflows and Power Automate Errors

How to Fix Microsoft Teams Workflows and Power Automate Errors

Tired of Microsoft Teams workflows and Power Automate errors halting your productivity? Get step-by-step solutions to common issues like authentication failures, timeouts, and flow errors. Fix them in minutes and automate effortlessly!

Troubleshooting Microsoft Teams Download Error on Macbook

Troubleshooting Microsoft Teams Download Error on Macbook

Facing Microsoft Teams "Download Error" on MacBook? Discover proven troubleshooting steps to resolve download failures quickly, from cache clears to reinstalls, and get back to smooth teamwork.

Troubleshooting Microsoft Teams Where is Teams Folder Error

Troubleshooting Microsoft Teams Where is Teams Folder Error

Tired of the frustrating Microsoft Teams "Where is Teams" Folder Error? Discover proven, step-by-step troubleshooting fixes to resolve it quickly and restore smooth teamwork. Latest methods included!

How to Fix Microsoft Teams JavaScript Error on Desktop App

How to Fix Microsoft Teams JavaScript Error on Desktop App

Frustrated by Microsoft Teams JavaScript Error on desktop app? Discover proven steps to fix it fast: clear cache, update, reset, and reinstall. Get back to seamless collaboration in minutes!

How to Fix Microsoft Teams Guest Login Error

How to Fix Microsoft Teams Guest Login Error

Struggling with Microsoft Teams "Guest Login" Error? Discover step-by-step fixes, from quick cache clears to admin settings, to resolve guest access issues fast and collaborate seamlessly. Updated with the latest tips!

How to Fix Microsoft Teams For PC Download Error

How to Fix Microsoft Teams For PC Download Error

Tired of the Microsoft Teams "For PC" download error blocking your work? Follow our proven, step-by-step guide to resolve it quickly and get Teams running smoothly on your PC today.

Solving Microsoft Teams Windows 7 Login Error

Solving Microsoft Teams Windows 7 Login Error

Struggling with Microsoft Teams "Windows 7" login error? Discover step-by-step fixes for this frustrating issue on Windows 10/11. Clear cache, edit registry, and more – get back to seamless collaboration today!

How to Fix Microsoft Teams Error Code 0x80070005 (2026 Guide)

How to Fix Microsoft Teams Error Code 0x80070005 (2026 Guide)

Tired of Microsoft Teams Error Code 0x80070005 blocking your meetings? Follow this 2026 guide with step-by-step fixes for access denied issues. Get Teams running smoothly in minutes!

How to Install the Microsoft Teams Add-in for Outlook 2026

How to Install the Microsoft Teams Add-in for Outlook 2026

Master the installation of the Microsoft Teams Add-in for Outlook 2026 effortlessly. Boost your productivity with seamless scheduling and meetings. Follow our proven, up-to-date steps for instant success!

How to Fix Microsoft Teams License Error 2026

How to Fix Microsoft Teams License Error 2026

Struggling with Microsoft Teams "License Error" 2026? Discover proven, step-by-step solutions to resolve it fast. Clear cache, check licenses, and get back to seamless collaboration—no IT help needed!

The Best Exercises for 50+

The Best Exercises for 50+

Whether youre in your 50s, 60s, or even 70s, its not too late to prioritize your health and put yourself first. Here are the best exercises for people 50 and older.

Solving Microsoft Teams Error Caa50024 on Windows 10/11

Solving Microsoft Teams Error Caa50024 on Windows 10/11

Struggling with Microsoft Teams Error Caa50024 on Windows 10/11? Follow our step-by-step fixes to resolve crashes and launch issues quickly. Latest proven solutions for seamless teamwork.

How to Fix Microsoft Teams Login Error AADSTS50011

How to Fix Microsoft Teams Login Error AADSTS50011

Stuck with Microsoft Teams login error AADSTS50011? Discover proven, step-by-step fixes to resolve the reply URL mismatch issue and log in seamlessly. No tech skills needed!

How to Fix Microsoft Teams Win 7 Compatibility Error

How to Fix Microsoft Teams Win 7 Compatibility Error

Tired of the frustrating Microsoft Teams "Win 7" Compatibility Error blocking your meetings? Get instant fixes with our step-by-step guide, including workarounds for older Windows versions. Resolve it now and stay connected!

Solving Microsoft Teams Error R Restart

Solving Microsoft Teams Error R Restart

Tired of the endless Microsoft Teams "Error R" restart loop? Get step-by-step fixes to solve Microsoft Teams Error R quickly. Clear cache, reset, reinstall & more for smooth collaboration. Works on Windows, Mac & web.