고랭의 메서드에 대해서는 내가 책으로 공부하면서 궁금했던 내용 위주로 정리하겠다.
1. 고랭에서 일반 함수와 메서드의 차이가 무엇인가?
클래스가 있는 언어에서는 클래스 안에 있으면 메서드고 밖에 있으면 함수다.
고랭에는 클래스가 없고 구조체가 있다.
그러면 구조체 안에 함수를 넣는가? 그런 게 아니고...
함수: 타입과 연관되지 않은 독립적인 코드 블록.
메서드: 특정 타입에 종속된 함수로, 해당 타입의 변수(리시버)를 통해 호출됨.
이 부분은 글을 보지 말고 코드를 보기를 추천한다.
(귀찮아서 코드 첨부 안 한다.책 391p에 있음.)
2. 일반 함수는 어디에도 속하지 않지만 메서드는 리시버에 속한다.
3. 400p에 진짜 정신 없이(?) 써 놨는데 이걸 요약하면 이거다.
고랭에서 포인터 변수가 값 리시버 메서드를 호출할 수 있고, 값 변수가 포인터 리시버 메서드를 호출할 수 있다.
끝!
메서드 내용은 많지가 않아서 여기서 마무리한다.
Tucker의 Go 언어 프로그래밍 - 메서드편 끝!