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.

SteelFox Trojan: Malware Turns PCs Into Cryptocurrency Mining Zombies

SteelFox Trojan: Malware Turns PCs Into Cryptocurrency Mining Zombies

This malware infects people looking to avoid paying for the product, steals their personal information, and turns their computers into cryptocurrency mining zombies.

How are big tech CEOs reacting to President Trumps victory?

How are big tech CEOs reacting to President Trumps victory?

Mr. Donald Trump is the 45th President of the United States for the term from 2017 to 2021.

Learn about the OmniFocus task management tool

Learn about the OmniFocus task management tool

OmniFocus is one of the best apps to help you turn procrastination into productivity.

Why is CapCuts AI engine the top choice for creating short-form videos?

Why is CapCuts AI engine the top choice for creating short-form videos?

CapCut is the best short-form video editor out there. But with the addition of AI editing tools, it's a video editor everyone should be using.

Latest X-Dog Code and How to Enter Code

Latest X-Dog Code and How to Enter Code

Code X-Dog gives players some attractive rewards. It helps players not have to struggle to find items when they first enter the game.

Standard Caitlyn DTCL season 10 equipment, build Caitlyn TFT season 10 squad

Standard Caitlyn DTCL season 10 equipment, build Caitlyn TFT season 10 squad

Standard items for Caitlyn DTCL season 10 are ready, before that she had a low price - 1 gold and would usually be the one to keep items for other champions later.

Microsoft will continue to invest heavily in OpenAI at a valuation of more than $100 billion

Microsoft will continue to invest heavily in OpenAI at a valuation of more than $100 billion

Microsoft has invested billions of dollars in OpenAI since 2019, although the Redmond-based software giant is by no means the primary investor in the innovative AI startup.

How to Share YouTube Channel Using QR Code

How to Share YouTube Channel Using QR Code

Sharing your YouTube channel access link just got a whole lot easier thanks to a newly introduced feature.

Latest Huyen Tuong 3Q Code and how to enter code

Latest Huyen Tuong 3Q Code and how to enter code

The latest Huyen Tuong 3Q Code is dedicated to players and supports new players when they first join the 3Q battlefield with the most necessary items.

Fiora DTCL: Standard build for Fiora Demacia Challenger

Fiora DTCL: Standard build for Fiora Demacia Challenger

This season 9.5 of Truth Arena Fiora will definitely replace Yasuo in the 4-gold Challenger main position.

Why propose on one knee?

Why propose on one knee?

Medieval knights (and Game of Thrones' Jon Snow) were famous for kneeling, which may have influenced today's marriage proposals. Here's why men get down on their knees to propose.

Positive quotes, happy status, short optimistic and positive status

Positive quotes, happy status, short optimistic and positive status

Which cheerful and optimistic status helps you lift your spirits the most? This article will summarize for you short, meaningful and cheerful statuses to quickly regain your spirits.

Health risks of Vitamin B12 deficiency

Health risks of Vitamin B12 deficiency

Your red blood cells, nerves, and brain all depend on vitamin B12. But some people don't get enough of this nutrient, and a vitamin B12 deficiency can cause a number of health problems.

What happens to your body if you wear a bra every day?

What happens to your body if you wear a bra every day?

Aside from providing the foundation for your outfit and making you look better, bras are also designed to benefit you in a variety of other ways.

ChatGPT crashes globally

ChatGPT crashes globally

On the morning of November 22, OpenAI's ChatGPT chatbot experienced widespread problems, and many users around the world were unable to use this AI application.