首页  >  文章  >  后端开发  >  如何使用函数和类型来满足接口的要求?

如何使用函数和类型来满足接口的要求?

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)
}

示例一:自定义类型实现接口

type Counter int

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

Counter 类型实现 ServeHTTP 方法,满足 Handler 接口。

示例 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 且不返回任何内容的函数。这允许像 notFound 这样的函数通过 HandlerFunc 添加 ServeHTTP 方法来用作处理程序。这种间接方法允许灵活地实现接口。

以上是如何使用函数和类型来满足接口的要求?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn