bufio
パッケージのReadBytes
メソッドでほぼ満たされる機能を必要とするコードを書いています。具体的には、そのメソッドは、特定のバイトを検出するまでReader
から読み取ります。 2バイトのうち1バイト(スペース、改行、タブを中心に扱う)が出てくるまで読み込むものが必要です。既存の(標準)パッケージに新しい関数を追加する
ライブラリのソースを見て、bufio
構造体で使用される内部バッファにアクセスできる場合はどうすればよいか知っています。私はパッケージを "サルパッチ"して別の方法を2つ追加する方法はありますか?または私が必要とする機能を得る別の方法は?このアプローチに沿って
プライベートな隠しフィールドがある主な理由は、実装が今後ユーザーに影響を与えずに進化することを可能にすることです。バイトへのアクセスを許可すると、この保証が破られます。だから私はあなた自身の(限られた)リーダー構造とメソッドを作る以外の適切な方法を見ていない。 –
あなたの本当の問題(特定のデータ形式を読むこと)を念頭に置いて、あなたが念頭に置いておいた1つの解決法(強化されたbufio)について解答とコメントが示すように、Goのパッケージ機能は実際には、他のソリューションを検討したり、データフォーマットの詳細をついて別の質問を投稿して、「この複数区切り形式を読み込む良い方法は何ですか?」と尋ねる方がよいでしょう。 – Sonia