리시버 변수 생략
메서드 내부에서 리시버 변수를 사용하지 않을 때도 있다. 다음 예제를 보자.
type rect struct { width float64 height float64 } func (rect) new() rect { return rect{} } func main() { r := rect{}.new() fmt.Println(r) }
rect 타입에 정의된 new() 메서드처럼 메서드 내부에서 리시버 변수를 사용하지 않는다면 메서드를 정의할 때 리시버 변수를 생략할 수 있다. 리시버 변수가 생략된 메서드를 호출할 때는 rect{}.new()처럼 해당 타입 값을 생성하면서 바로 메서드를 호출하면 된다(구조체 값을 생성하는 방법은 4.3절에서 다룬다).