2010-08-02 8 views
0

정의되고 :는 다음과 같이

func Handle(pattern string, handler Handler) 
type Handler interface { ServeHTTP(*Conn, *Request) } 

은 어떻게 (예를 들어 websocket.Draft75Handler, 말) 기존 핸들러에 향상시킬 수 있습니다함으로써 그것에게 추가 인수 (그리고 인수와 함께 무엇을 할 지 말해봐)?

채널의 한쪽 끝을 포함하는 처리기를 만들려고합니다. 해당 채널을 사용하여 프로그램의 다른 부분과 대화합니다. 어떻게 해당 채널을 처리기 함수로 가져올 수 있습니까?

어리석은 질문 인 경우 사과드립니다. 나는 새로 왔고 튜토리얼을 읽고 코드로 바로 뛰어 와서 배우기로했다. 어떤 도움을 주셔서 감사합니다! 유형이 함수 인 경우

답변

2

, websocket.Draft75Handler처럼, 당신은 폐쇄에 포장 수 :

func MyHandler(arg interface{}) websocket.Draft75Handler { 
    return func(c *http.ConnConn) { 
     // handle request 
    } 
} 

func main() { 
    http.Handle("/echo", MyHandler("argument")) 
    err := http.ListenAndServe(":12345", nil) 
    if err != nil { 
     panic("ListenAndServe: " + err.String()) 
    } 
}