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

Go의 키워드

Go의 키워드

키워드 - 키워드는 언어에서 어떤 내부 프로세스에 사용되거나 미리 정의된 동작을 나타내는 단어입니다. Golang의 키워드에 대해 알아야 할 사항은 다음과 같습니다.

Golang의 데이터 유형

Golang의 데이터 유형

데이터 유형은 유효한 Go 변수가 포함할 수 있는 데이터 유형을 지정합니다. Go 언어에서 유형은 다음과 같이 네 가지 범주로 구분됩니다.

Golang의 함수 인수

Golang의 함수 인수

Go에서는 인수를 전달하는 두 가지 주요 방법을 지원합니다. 값으로 전달, 참조로 전달입니다. Go는 기본적으로 값으로 전달을 사용합니다.

Golang에서 여러 값을 반환하는 함수

Golang에서 여러 값을 반환하는 함수

Go 언어에서는 return 문을 사용하여 함수에서 여러 값을 반환할 수 있습니다. 즉, 함수에서 반환 문은 여러 개의 값을 반환할 수 있습니다.

Go에서의 Switch 문

Go에서의 Switch 문

대부분의 다른 프로그래밍 언어와 마찬가지로 Golang에도 switch 문이 있습니다. Golang에서 switch 문을 사용하는 방법은 다음과 같습니다.

Golang에서 선택문을 사용할 때 알아야 할 사례

Golang에서 선택문을 사용할 때 알아야 할 사례

이 글에서는 기본 케이스를 사용하여 교착 상태를 피하는 방법을 알아보겠습니다. 하지만 먼저, Golang select 명령을 사용할 때 교착 상태가 발생하는 경우를 알아보겠습니다.

Golang의 익명 구조체와 필드

Golang의 익명 구조체와 필드

Golang의 익명 구조체는 한 번만 사용되는 이름이 없는 임시 구조체인 반면, 익명 필드는 이름이 없는 필드를 내장하는 것을 허용합니다.

Golang에서 Rune을 사용하는 방법

Golang에서 Rune을 사용하는 방법

골란어의 룬은 무엇인가요? Golang에서 Rune을 어떻게 사용하나요? 이 기사에서 답을 알려드리겠습니다.

Golang에서 연산자를 사용하는 방법

Golang에서 연산자를 사용하는 방법

연산자를 사용하면 피연산자에 대해 다양한 유형의 연산을 수행할 수 있습니다. Go 언어에서는 연산자를 기능에 따라 분류할 수 있습니다.

Golang의 Void 식별자

Golang의 Void 식별자

Golang에서는 _(언더스코어)를 공백 식별자라고 합니다. 식별자는 식별 목적으로 사용되는 프로그램 구성 요소의 사용자 정의 이름입니다.

Golang으로 기본 프로그램을 만드는 방법

Golang으로 기본 프로그램을 만드는 방법

안녕하세요, 세상아! 모든 프로그래밍 언어의 첫 번째 기본 프로그램입니다. 아래 단계에 따라 Golang으로 첫 번째 프로그램을 작성할 수 있습니다.

Windows에 Go를 설치하는 방법

Windows에 Go를 설치하는 방법

Golang은 윈도우에 쉽게 설치할 수 있습니다. 다음은 Windows에 Golang을 설치하는 방법에 대한 자세한 단계별 가이드입니다.

Go의 함수

Go의 함수

Go에서 함수는 특정 작업을 수행하는 코드 블록으로, 프로그램 전체에서 재사용하여 메모리를 절약하고, 가독성을 높이고, 시간을 절약할 수 있습니다.

Go에서의 변수 범위

Go에서의 변수 범위

Golang에서 변수의 범위는 해당 변수에 접근할 수 있는 프로그램의 부분을 결정합니다. Go에서는 모든 식별자가 컴파일 시점에 결정되는 어휘 범위를 갖습니다.

PXE-E61 오류 수정 방법: 미디어 테스트 실패, 케이블 확인

PXE-E61 오류 수정 방법: 미디어 테스트 실패, 케이블 확인

PXE-E61 오류는 일부 마더보드에서 지원하는 PXE(Preboot eXecution Environment)와 관련이 있습니다. PXE는 로컬 하드 드라이브가 아닌 네트워크를 통해 부팅 가능한 운영 체제를 검색하여 로드할 수 있는 특수 부팅 모드입니다.

Microsoft Authenticator를 암호 관리자로 사용하는 방법

Microsoft Authenticator를 암호 관리자로 사용하는 방법

이 인기 있는 2단계 인증 앱을 사용하여 어떤 기기에서든 비밀번호를 안전하게 보호하는 방법을 알아보겠습니다.

OpenAI, 새로운 브라우저로 구글 크롬에 도전

OpenAI, 새로운 브라우저로 구글 크롬에 도전

OpenAI는 Google Chrome과 직접 경쟁할 수 있는 웹 브라우저 프로젝트를 진행 중이라고 합니다.

VPN을 사용하더라도 일부 앱은 여전히 ​​사용자의 실제 위치를 알고 있습니다.

VPN을 사용하더라도 일부 앱은 여전히 ​​사용자의 실제 위치를 알고 있습니다.

가상 사설망(VPN)을 사용하는 한 가지 이점은 실제 위치를 가릴 수 있다는 것입니다. 하지만 그것이 당신의 주된 목표라면, 일부 앱은 여전히 ​​당신의 물리적 위치를 알 수 있다는 사실에 놀랄 수도 있습니다.

연인에게 보내는 가장 진심 어린 사과는 그가 화를 빨리 멈추는 데 도움이 됩니다.

연인에게 보내는 가장 진심 어린 사과는 그가 화를 빨리 멈추는 데 도움이 됩니다.

연인에게 사과하여 용서를 구하는 방법에 대한 설명입니다. 이 글에서는 연인에게 감동을 줄 수 있는 사과문 캡션을 요약해드리겠습니다.

이런 기술을 학교에서 가르쳐줬으면 좋겠다.

이런 기술을 학교에서 가르쳐줬으면 좋겠다.

신용점수에 대한 이해부터 기본적인 DIY 기술까지, 이런 기술을 학교에서 가르쳐서 성장이 더 쉬워지기를 바랍니다.

발바닥 사마귀에 대한 간단하고 영구적인 치료법

발바닥 사마귀에 대한 간단하고 영구적인 치료법

발바닥 사마귀는 흔한 피부 질환입니다. 발바닥 사마귀에 대해 알아야 할 사항은 다음과 같습니다.

예상치 못한 흥미로운 지식

예상치 못한 흥미로운 지식

매일 흥미로운 지식을 통해 삶에 대한 더욱 특별한 사실을 알게 될 것입니다. 많은 사람들이 아직 모르는 흥미로운 사실은 다음과 같습니다.

작업 관리자를 수정하기 위한 지침이 관리자에 의해 비활성화되었습니다.

작업 관리자를 수정하기 위한 지침이 관리자에 의해 비활성화되었습니다.

작업 관리자가 비활성화된 이유가 궁금하실 겁니다. 하지만 걱정하지 마세요! 다음 문서에서는 작업 관리자가 작동하지 않을 때 이를 해결하는 가장 좋은 방법을 안내합니다.

휴대폰이 도난당했을 때 취해야 할 7가지 단계

휴대폰이 도난당했을 때 취해야 할 7가지 단계

통계에 따르면 매년 수천 명의 관광객이 휴대전화를 분실한다고 합니다. 휴대폰이 도난당한 직후에 취해야 할 조치는 다음과 같습니다.

Apple A18 Pro CPU 정보 요약: 매우 강력한 성능, AI 지원

Apple A18 Pro CPU 정보 요약: 매우 강력한 성능, AI 지원

A18 Pro는 A17 Pro의 후속 모델로, iPhone 16 Pro와 iPhone 16 Pro Max 라인업에 탑재될 것으로 예상됩니다.

YouTube에서 사용하는 데이터를 절약하는 방법

YouTube에서 사용하는 데이터를 절약하는 방법

YouTube 앱은 사용자가 모바일 데이터 절약 모드를 활성화할 수 있는 여러 가지 옵션을 제공하며, 이러한 옵션을 사용하면 동영상을 시청하는 동안 데이터 소모를 줄일 수 있습니다.

놀라운 사실: 리튬 배터리는 환경 재앙이 될 수 있습니다

놀라운 사실: 리튬 배터리는 환경 재앙이 될 수 있습니다

일상 기기와 재생 에너지 저장에 사용되는 리튬 배터리는 환경에 더 많은 화학 물질을 방출하여 토양과 수질 오염 문제를 악화시킬 수 있습니다.

코모도 드래곤이 거북이를 삼킨다

코모도 드래곤이 거북이를 삼킨다

영상에는 코모도 드래곤이 무시무시한 물림력으로 거북이의 껍질을 부수고 몇 초 만에 삼키는 모습이 담겨 있습니다.

화성의 상세한 파노라마를 담은 25억 픽셀 사진을 감상하세요.

화성의 상세한 파노라마를 담은 25억 픽셀 사진을 감상하세요.

9월 14일, NASA는 화성 표면의 가장 자세한 이미지와 함께 붉은 행성 표면을 가장 선명하게 보여주는 파노라마 영상을 공유했습니다.