技術向上

プログラミングの学び、気になるテクノロジーやビジネストレンドを発信

ioutil【Go】

主にネットワーク関係のファイルの読み書きや、受信内容の読み込みに使用されます。
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))