Skip to content

JA03_出力先の変更

HAYAMA_Kaoru edited this page Oct 11, 2023 · 1 revision

.Writer フィールドに io.Writer を設定することで、出力先を変更することができます。

デフォルトだと、os.Stdout が自動設定されますが、Windows のようにエスケープシーケンスが有効でない環境での使用が想定される場合、ここに go-colorable などの ANSI Escape sequence をエミュレートする io.Writer を設定することができます(推奨)

import (
    "github.com/mattn/go-colorable"
)
// ;

editor := &readline.Editor{
    // ;
    Writer: colorable.NewColorableStdout(),
    // ;
}

似たようなフィールドとして .Out がありますが、こちらは .Writer フィールドを bufio.Writer でバッファリングしたものが .ReadLine メソッド等にて設定されます。この .Out がその後主に使われるので、一度設定した .Writer を後から変更しても無効です。