Go 言語の組み込みモジュールを触ってみる-ファイルの読み込み(os.ReadFile)

はじめに

Go 言語の学習が少し進んできたため、いくつかの組み込みパッケージを触ってさらなる学習を進めていこうと思います。

今回取り上げるのは os パッケージの ReadFile 関数を取り上げます。

検証環境

$ uname -moi
x86_64 MacBookPro16,1 Darwin

$ go version
go version go1.16.3 darwin/amd64

インターフェイス

func ReadFile(name string) ([]byte, error)

説明

ファイル名を受け取り、ファイルの内容を返します。

正常終了時は error の戻り値が nil となります。

ReadFile はファイル全体を読み込むため、 error == EOF となることはありません。

( ということは他の関数では EOF となるケースが有るということでしょうか。 )

サンプルコード

main.go

package main

import (
    "log"
    "os"
)

func main() {
    data, err := os.ReadFile("/tmp/test.txt")

    if err != nil {
        log.Fatal(err)
    }

    os.Stdout.Write(data)
}

実行

$ echo 'hello' > /tmp/test.txt

$ go run ./main.go
hello

ひとこと

ようやくファイルを読み込めるようになりました。

Posted by genzouw