>  기사  >  백엔드 개발  >  인터페이스의 요구 사항을 충족하기 위해 함수와 유형을 어떻게 사용할 수 있습니까?

인터페이스의 요구 사항을 충족하기 위해 함수와 유형을 어떻게 사용할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-06 14:39:02732검색

How can functions and types be used to fulfill the requirements of an interface?

함수 구현 인터페이스

질문:

함수와 유형이 인터페이스에서 어떻게 상호 작용합니까? ?

답변:

인터페이스는 구현할 유형에 필요한 메서드를 정의합니다. 예는 다음과 같습니다.

type Handler interface {
    ServeHTTP(*Conn, *Request)
}

예 1: 인터페이스를 구현하는 사용자 정의 유형

type Counter int

func (ctr *Counter) ServeHTTP(c *http.Conn, req *http.Request) {
    fmt.Fprintf(c, "counter = %d\n", ctr)
    ctr++
}

Counter 유형은 Handler 인터페이스를 만족하는 ServeHTTP 메소드를 구현합니다.

예제 2: HandlerFunc 활용(수신기 기능)

type HandlerFunc func(*Conn, *Request)

func (f HandlerFunc) ServeHTTP(c *Conn, req *Request) {
    f(c, req)
}

var Handle404 = HandlerFunc(notFound)

여기서 HandlerFunc는 Conn과 Request를 받아 아무것도 반환하지 않는 함수입니다. 이를 통해 HandlerFunc를 통해 ServeHTTP 메소드를 추가하여 notFound와 같은 기능을 핸들러로 사용할 수 있습니다. 이 간접적인 방법을 사용하면 인터페이스 구현 시 유연성을 얻을 수 있습니다.

위 내용은 인터페이스의 요구 사항을 충족하기 위해 함수와 유형을 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.