主にネットワーク関係のファイルの読み書きや、受信内容の読み込みに使用されます。
os系でも同じような結果を取得することはできますが、
利用用途によって、使い分けがされています。
ファイルの読み書きの例です。
content, err := ioutil.ReadFile("main.go")
if err != nil {
log.Fatalln(err)
}
fmt.Println(string(content))
if err := ioutil.WriteFile("ioutil_temp.go", content, 0666); err != nil { // 第1引数に出力ファイル名、第2引数に内容、第3引数に権限設定
log.Fatalln(err)
}
受信内容の読み込み、出力例です。
r := bytes.NewBuffer([]byte("xxxx")) // byte配列をテスト用に生成
content2, _ := ioutil.ReadAll(r) // 2つ目の返り値であるerrは使用しないため、破棄
fmt.Println(string(content2))