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

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.

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.

List of latest Dai Hiep Phong Van codes and how to redeem codes

List of latest Dai Hiep Phong Van codes and how to redeem codes

Code Dai Hiep Phong Van helps players use attractive rewards even if they have just started wandering the world in the game.

List of latest Sword of Convallaria codes and how to redeem codes

List of latest Sword of Convallaria codes and how to redeem codes

Code Sword of Convallaria gives players a series of rewards such as currency, experience points, character summons...

Download Sword of Convallaria PC, download Sword of Convallaria for computer

Download Sword of Convallaria PC, download Sword of Convallaria for computer

Sword of Convallaria has officially launched, players can experience this action role-playing game.

Google Pixel 6 vs Pixel 6 Pro Comparison

Google Pixel 6 vs Pixel 6 Pro Comparison

Google's Pixel 6 and Pixel 6 Pro have a lot in common, but there are also some key differences you should know about if you're deciding between the two devices.

Fun ideas & activities to get students excited about school

Fun ideas & activities to get students excited about school

Every day at school is a happy day is what every educational environment aims to create for students. The interesting activity suggestions below will help children excited to go to school every day.

Ranking the funniest zodiac signs

Ranking the funniest zodiac signs

Every zodiac sign has their own sense of humor, but which zodiac signs are the funniest? Here's how the zodiac signs are ranked by humor, according to LoveToKnow.

5 Reasons People Prefer Password Login Over Email

5 Reasons People Prefer Password Login Over Email

Email logins may seem convenient, but they often come with hidden pitfalls. They can slow you down, reduce your security, and leave you vulnerable to attacks in ways that passwords can't.

Latest Code Aline Run Away

Latest Code Aline Run Away

Updating the Aline Girl code, Running continuously will help you have more currency to spend, skins to use and many other attractive rewards.

Vampire Sparrow: Strange Bird That Drinks Blood to Survive

Vampire Sparrow: Strange Bird That Drinks Blood to Survive

Vampire finches have lived on Darwin Island and Wolf Island (both part of the Galapagos Islands - Ecuador) since 500,000 years ago.

What is the speed of the plane running on the runway?

What is the speed of the plane running on the runway?

There are no speed limits at airports because pilots decide how fast the plane can run down the runway based on airline procedures and weather conditions.

Funny phone unlock wallpaper, awesome troll unlock wallpaper

Funny phone unlock wallpaper, awesome troll unlock wallpaper

Are you looking for funny phone unlock wallpapers? Check out the wallpapers below and choose a cool phone unlock wallpaper for yourself.

The easiest way to get Shopee discount codes, find Shopee vouchers with deep discounts

The easiest way to get Shopee discount codes, find Shopee vouchers with deep discounts

If you regularly shop on Shopee, you should not ignore the methods of finding Shopee product discount codes, helping you get product discount codes with just a few clicks.

Fire Extermination Code: Latest Heritage and how to redeem code to receive rewards

Fire Extermination Code: Latest Heritage and how to redeem code to receive rewards

You will receive gold coins, EXP gems, gems and hero summon tickets along with many other attractive rewards when exchanging the Fire Annihilation: Heritage code.

Latest Skibidi Tower Defense Code and How to Redeem Code for Rewards

Latest Skibidi Tower Defense Code and How to Redeem Code for Rewards

Skibidi Tower Defense game code helps you defend your base more easily by providing free coins, lucky potions and gold doubling potions during the game.

Good statuses about the worlds tongue worth pondering

Good statuses about the worlds tongue worth pondering

There are many statuses that criticize people on the Internet. This article will summarize for you the best statuses that criticize people.