[Go] io.ReadCloser の内容を string 型に変換する

作成日: 2026年09月17日

io.ReadCloser の内容を string 型に変換するには、io.ReadAll で全て読み込み、返された []bytestring に変換します。

package main

import (
    "fmt"
    "io"
    "strings"
)

func main() {
    reader := io.NopCloser(strings.NewReader("Hello, world!"))
    defer reader.Close()

    data, err := io.ReadAll(reader)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(data))
}

実行結果です。

Hello, world!

io.ReadAllio.Reader から EOF まで読み込み、[]byte を返します。io.ReadCloserio.Reader を満たすため、そのまま io.ReadAll に渡すことができます。

Go