HandlerFunc가 어댑터 패턴을 따르고 어떤 목적으로 쓰이는지는 아는데 코드에서 좀 이해가 안가는게 있어서 질문점
type HandlerFunc func(ResponseWriter, *Request)
func (f HandlerFunc) ServeHTTP(w ResponseWriter, r *Request) {
f(w, r)
}
여기서 f(w, r) 부분이 조금 이해가 안가는데
f는 HandlerFunc고 즉, 그냥 타입일뿐인데
w, r을 저렇게 괄호로 감싸는게 뭘뜻하는지를 잘 모르겠음
함수 호출 아냐?
고에서 타입이라는건 그냥 별칭이거나 메서드를 가질수있는 개념일듯 - dc App
그냥 함수 호출인데. f는 receiver (oop의 this), HandleFunc는 receiver type
타입이라서 쓸 수 있는거지. 타입이 메소드를 가지는거임. 구조체가 아니라
type HandlerFunc func(ResponseWriter, *Request)
즉 HandlerFunc는 함수 타입이고, f는 HandlerFunc라는 함수 타입의 변수니까 호출 가능하다
함수호출