一、接口的定义
1.接口由使用者定义
示例1:
type Retriever interface {
Get(url string) string
}
func download(r Retriever) string{
return r.Get("http://www.imooc.com")
}
二、接口的实现
1.接口的实现是隐式的
2.只要实现接口里的方法
示例2:
func (r Retriever) Get(url string) string {
resp, err := http.Get(url)
if err != nil{
panic(err)
}
result, err := httputil.DumpResponse(resp, true)
resp.Body.Close()
if err != nil{
panic(err)
}
return string(result)
}