簡単なgoプログラム(基本的には単なるサンプルコード)を作成しました:
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func getPage(url string) (body []byte, err error) {
resp, err := http.Get(url)
body = nil
if (err != nil) {
return
}
defer resp.Body.Close()
body, err = ioutil.ReadAll(resp.Body)
return
}
func main() {
startUrl := "http://slashdot.org/"
body, err := getPage(startUrl)
if (err != nil) {
fmt.Println("Error: " , err)
}
fmt.Println(body)
}
ドキュメントを調べて、すべてがどのように組み合わされているかを理解しようとしています。
最初の問題:http.Get()。ドキュメント(http://golang.org/pkg/net/http/)にはありません。それを除いて、しかし応答の下で。ただし、他に2つのGet()関数があります。net / http.Getが実際にResponseタイプのGet()であることをどうやって知ることができますか?
とにかく、http.Get()はの応答を返しBody
ますio.ReadCloser
。ioutil.ReadAll()はio.Readerを取りますが、これをパラメーターとして受け入れる他の関数を見つけるにはどうすればよいですか?ドキュメントは「逆方向」のようです。必要な関数がわかっている場合はドキュメントを見つけることができますが、タイプがある場合は、どの関数がそれで機能するかをどのように見つけることができますか?