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
Sign up and earn $1000 a day ⋙

Leave a Comment

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.

Functions in Go

Functions in Go

In Go, functions are blocks of code that perform specific tasks, which can be reused throughout the program to save memory, improve readability, and save time.

Variable Scope in Go

Variable Scope in Go

The scope of a variable in Golang determines which part of the program the variable is accessible to. In Go, all identifiers have a lexical scope that is determined at compile time.

8 major disadvantages of foldable screen phones that you didnt expect

8 major disadvantages of foldable screen phones that you didnt expect

There’s no denying that foldable phones are pretty cool. But after using them for a while, there are a few quirks to them. Here are 5 major downsides to foldable phones that you might not expect!

Adobe is bringing AI video creation technology to Premiere Pro

Adobe is bringing AI video creation technology to Premiere Pro

Adobe has brought AI video creation technology to the masses in a new way, although it has yet to create a finished movie using the technology.

Latest Genshin Impact Codes April 2025

Latest Genshin Impact Codes April 2025

Genshin Impact 5.5 Code helps you exchange for Primordial Stones, Magic Minerals, experience and many other rewards.

How to Turn Your iPad into an Extra Mac Display

How to Turn Your iPad into an Extra Mac Display

macOS Catalina and iPadOS include support for a new feature called Sidecar, designed to let you use your iPad as a secondary display for your Mac.

Wallpaper 1280, beautiful Nokia 1280 phone wallpaper

Wallpaper 1280, beautiful Nokia 1280 phone wallpaper

This is a set of Nokia 1280 wallpapers, if you have ever texted to get 1280 wallpapers, brick phone wallpapers, then try looking at these wallpapers.

Hypersonic space plane reaches speed of 11,115 km/h

Hypersonic space plane reaches speed of 11,115 km/h

Venus Aerospace has revealed the first images of its new hypersonic aircraft called the Stargazer, which can reach a top speed of 11,115 km/h, equivalent to Mach 9.

Eating bananas for breakfast helps you reduce bloating

Eating bananas for breakfast helps you reduce bloating

Bloating can happen to anyone. The good news is that breakfast is a great time to add a few ingredients to your meal that can help reduce bloating. That ingredient is bananas.

OpenAI Announces Major Update to AI Image Generation in ChatGPT

OpenAI Announces Major Update to AI Image Generation in ChatGPT

OpenAI has just officially introduced a remarkable upgrade to the AI ​​image generation capability in ChatGPT, an important step forward instead of using a separate image generation model like the previous DALL-E.

Deepseek Releases Free Language Model v3 That Runs Well on Common Hardware Configurations

Deepseek Releases Free Language Model v3 That Runs Well on Common Hardware Configurations

Chinese AI startup DeepSeek has just officially released its latest large language model (LLM), DeepSeek-V3-0324.

Reasons to ditch Gboard and switch to Samsung Keyboard

Reasons to ditch Gboard and switch to Samsung Keyboard

Gboard has long been the go-to keyboard on Android phones. However, many people have recently switched to Samsung Keyboard and haven't looked back.

Sweet and Romantic Weekend Wishes for Lovers

Sweet and Romantic Weekend Wishes for Lovers

Send sweet and romantic weekend wishes to your lover. Although they are just words or messages, they will be meaningful spiritual gifts, helping to strengthen your relationship.

Harry Potter TV series needs the following elements to be successful

Harry Potter TV series needs the following elements to be successful

HBO's Harry Potter remake is expected to premiere in 2026. Here's what makes the TV Harry Potter a success.

Stunning pictures of the supermoon from around the world

Stunning pictures of the supermoon from around the world

Beautiful moon pictures are not rare on the Internet. This article will summarize for you the most beautiful moon pictures in the world.

AMD Ryzen Users Should Install This BIOS Update for a Free Performance Boost

AMD Ryzen Users Should Install This BIOS Update for a Free Performance Boost

Now, AMD has responded to the issues with its underperforming flagship CPU line with a new update that could deliver a few more frames per second.

Xs value drops from $44 billion to below $10 billion

Xs value drops from $44 billion to below $10 billion

In October 2022, Elon Musk spent $44 billion to acquire X, but the platform's value has now dropped 78.6% to about $9.4 billion.