在Go中找不到来自url的公共文件

I am trying to get the content of a publicly available file using ioutil.ReadFile() but it doesn't find the file: panic: open http://www.pdf995.com/samples/pdf.pdf: No such file or directory

Here's my code:

// Reading and writing files are basic tasks needed for
// many Go programs. First we'll look at some examples of
// reading files.

package main

import (
    "fmt"
    "io/ioutil"
)

// Reading files requires checking most calls for errors.
// This helper will streamline our error checks below.
func check(e error) {
    if e != nil {
        panic(e)
    }
}

func main() {
    fileInUrl, err := ioutil.ReadFile("http://www.pdf995.com/samples/pdf.pdf")
    if err != nil {
        panic(err)
    }
    fmt.Printf("HERE --- fileInUrl: %+v", fileInUrl)
}

Here's a go playground example

ioutil.ReadFile() does not support http.

If you look at the source code(https://golang.org/src/io/ioutil/ioutil.go?s=1503:1549#L42), open the file using os.Open.

I think I can do this coding.

package main

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

func main() {

    fileUrl := "http://www.pdf995.com/samples/pdf.pdf"

    if err := DownloadFile("example.pdf", fileUrl); err != nil {
        panic(err)
    }
}

func DownloadFile(filepath string, url string) error {

    // Get the data
    resp, err := http.Get(url)
    if err != nil {
        return err
    }
    defer resp.Body.Close()

    // Create the file
    out, err := os.Create(filepath)
    if err != nil {
        return err
    }
    defer out.Close()

    // Write the body to file
    _, err = io.Copy(out, resp.Body)
    return err
}

but, go playgound not protocol(go error dial tcp: Protocol not available).

so, You have to do it PC.