os.Stdin から長いテキストを読みたいのですが、実現できません。件名のすべてを既に読んで、動作するはずのコードを試しました。すべてのメソッドは、何があっても 4096 文字を切り捨てます。
例えば。これが実際の例です。ループの最初の実行後、最初の 4096 文字を読み取り、EOF (Ctrl+D) で終了するまで、入力するたびにさらに処理を待ちます。fmt.Scan、bufio.NewScanner、bufio ReadLine、ioutil.ReadAll についても同様です。ファイルに保存して読み取ると、期待どおりに動作します。標準入力からはそうではありません。
私はArch Linux、32ビット、Go 1.7を使用しており、mate-terminal 1.14、tty 8.25でテストされており、両方で同じです。hackerrank.com のページでも同じことが起こっていますが、彼らがどのような技術を使用しているのかはわかりません。
助けてください!
編集:
私の入力は 4096 文字より少し長いだけです。Amdが共有しているリンクを確認したところ、次の情報が得られました。私の入力は、スペースで区切られた整数を含む 1 行のみです。スペースを改行に変更すると、うまくいきました。しかし、hackerrate の演習形式ではスペースで区切られた長い行が使用されるため、問題はまだ解決されていません。