最近プログラミング タスクを解決したところ、行のスライスを取得し、処理された行をディスクに保存できるメソッドが存在しないことがわかりました。もちろん、文字列を文字列のスライスに分割して、そのスライスを使用することもできますが、一度パッケージを作成して、必要なときにいつでも簡単に使用したいと考えています。
そうですね、次のような方法が考えられます:
そこで、そのようなパッケージにどのようなメソッドを持たせるかを決めた後、gfu (gfu は Go File Utils の略) パッケージを作成し、それらを共有したいと思います。github リポジトリを参照してください。
このメソッドは次のことを行います:
1 自動検出行末 (CR、LF、または CRLF) を含む結果のタプル ([]string、error) を返します。
2 スライス項目から行末記号を削除します
3omitEmpty 引数が true に設定されている場合は空行を削除します
例:
lines, err := gfu.ReadAllLines("myFile.txt", true)
このメソッドは次のことを行います:
例:
lines := []string{ "{", " \"id\": 1,", " \"name\": \"Michael Ushakov\"", "}", } file := "write_all_lines_test.txt" err := gfu.WriteAllLines(file, lines, "\n")
WriteAllLines はファイルの内容を上書きしますが、既存のファイルに行部分を追加する必要がある場合はどうすればよいでしょうか?シグネチャ上、WriteAllLines:
と同一の AppendAllLines 関数を使用する必要があります。
lines := []string{ "{", " \"id\": 1,", " \"name\": \"Michael Ushakov\"", "}", } file := "append_all_lines_test.txt" err := gfu.WriteAllLines(file, lines, "\n") additionalLines := []string{ "{", " \"id\": 2,", " \"name\": \"Alex Petrov\"", "}", } err := gfu.AppendAllLines(file, lines, "\n")
これらの関数はすべて非常に便利で、小さなパッケージにまとめられています。また、これらすべての関数に対してテストが記述されているため、信頼できると考えることができます。そして私はソフトウェア開発の旅をさらに続けます。このパッケージが役に立ったと思われる場合は、星を付けることを忘れないでください。
以上がスライスを使用してファイルの書き込みと読み取りを行うの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。