1-1接口的概念

1-1接口的概念

下载

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func retrieve(url string) []byte {
    resp, err := http.Get(url)
    if err != nil {
        panic(err)
    }

    defer resp.Body.Close()

    bytes, _ := ioutil.ReadAll(resp.Body)
    return bytes
}

func main() {
    fmt.Println(retrieve("https://www.baidu.com/"))
}



接口

package infra

import (
    "io/ioutil"
    "net/http"
)

type Retriever struct{}

func (Retriever) Get(url string) string {
    resp, err := http.Get(url)
    if err != nil {
        panic(err)
    }

    defer resp.Body.Close()

    bytes, _ := ioutil.ReadAll(resp.Body)
    return string(bytes)
}
package main

import "fmt"

func getRetriever() retriever {
    return infra.Retriever{}
}

type retriever interface {
    Get(string) string
}

func main() {
    var r retriever = getRetriever()
    fmt.Println(r.Get("https://www.baidu.com/"))
}
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!