티스토리 뷰

Programming Language/Go

[Go] 타입 & 메서드

SdardewValley 2021. 11. 13. 22:00
반응형

Go는 상태를 표현하는 '타입'과 동작을 표현하는 '메서드'를 분리하여 정의한다. 타입과 메서드의 명확한 연결고리는 없다.

 

사용자 정의 타입과 메서드

사용자 정의 타입

기본 타입 외의 사용자가 직접 정의한 타입
  • 일반적으로 구조체와 인터페이스를 사용자 정의 타입으로 사용한다
  • 기본 타입이나함수 signature을 사용자 정의 타입으로 사용하기도 한다

 

메서드

사용자 정의 타입과 함수를 바인딩시키는 방식으로 정의한 것
func (리시버명 리시버타입) 메서드명 (매개변수) (반환값 혹은 반환타입) {
	...
}

함수를 정의하는 것에 리시버가 추가되었다. 메서드를 호출시 리시버 값이 메서드에 전달되어 메서드에서 리시버 값을 사용할 수 있다.

 

리시버 (receiver)

타입과 동작을 연결하기 위해서 사용

receiver 사용 방법

Item은 상태를 나타내고, Cost는 동작을 나타낸다. Cost 함수를 보면 앞에 receiver은 Item이라고 되어 있다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함