Rumah > pembangunan bahagian belakang > Golang > PERGI menulis dan membaca fail dengan kepingan

PERGI menulis dan membaca fail dengan kepingan

DDD
Lepaskan: 2024-11-10 09:16:02
asal
983 orang telah melayarinya

GO writing and reading files with slices

1. Bagaimana mungkin kita harus bekerja dengan fail menggunakan kepingan

Menyelesaikan tugas pengaturcaraan saya baru-baru ini, saya mendapati bahawa **tiada kaedah yang dibenarkan untuk mendapatkan kepingan baris dan menyimpan baris yang diproses pada cakera. Sudah tentu, saya boleh membelah rentetan menjadi hirisan rentetan dan menggunakan hirisan itu, tetapi saya ingin mendapatkan beberapa pakej sekali dan menggunakannya dengan mudah, pada bila-bila masa saya memerlukannya.

Nah, saya ingin mempunyai kaedah berikut:

  1. ReadAllLines yang membaca kandungan fail dan mengembalikan tuple []rentetan,ralat
  2. WriteAllLines untuk menulis kepingan rentetan
  3. AppendAllLines untuk menambah kepingan rentetan pada akhir fail sedia ada.

2.1 Pakej baharu yang memenuhi semua keperluan

Jadi selepas saya memutuskan kaedah apa yang sepatutnya ada pada pakej tersebut, saya menulis pakej gfu (gfu ialah singkatan untuk Go File Utils) dan ingin berkongsinya, lihat repo github:

2.1 Kaedah ReadAllText

Kaedah ini melakukan perkara berikut:
1 Mengembalikan tuple ([]rentetan, ralat) hasil dengan penghujung baris auto-kesan (CR, LF atau CRLF);
2 Mengalih keluar simbol penamat baris daripada item hirisan
3 Mengalih keluar baris kosong jika argumen omitEmpty ditetapkan kepada benar

Contoh:

lines, err := gfu.ReadAllLines("myFile.txt", true)
Salin selepas log masuk

2.2 Kaedah WriteAllText

Kaedah ini melakukan perkara berikut:

  1. Memasukkan simbol pemisah baris yang ditakrifkan dalam hujah ke-3 fungsi WriteAllLines
  2. Memangkas fail jika wujud, jika tidak, fail akan dibuat

Contoh:

lines := []string{
"{",
"    \"id\": 1,",
"    \"name\": \"Michael Ushakov\"",
"}",
}
file := "write_all_lines_test.txt"
err := gfu.WriteAllLines(file, lines, "\n")
Salin selepas log masuk

2.3 Kaedah AppendAllText

WriteAllLines menimpa kandungan fail, tetapi apakah yang perlu kita lakukan jika kita perlu menambah beberapa bahagian baris pada fail sedia ada? Kita harus menggunakan fungsi AppendAllLines yang, dengan tandatangan, adalah sama dengan WriteAllLines:

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")

Salin selepas log masuk

3. Kesimpulan

Semua fungsi ini agak mudah dan digabungkan dalam pakej kecil, juga ujian telah ditulis pada semua fungsi ini, jadi kami boleh menganggapnya sebagai boleh dipercayai. Dan saya pergi lebih jauh dalam perjalanan pembangunan perisian saya. jangan lupa beri kami bintang jika anda rasa pakej ini membantu.

Atas ialah kandungan terperinci PERGI menulis dan membaca fail dengan kepingan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan