Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengeluarkan Aksara Baris Baharu dengan Cekap daripada Baris dalam Go?

Bagaimana untuk Mengeluarkan Aksara Baris Baharu dengan Cekap daripada Baris dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-12 03:37:02907semak imbas

How to Efficiently Remove Newline Characters from Lines in Go?

Mengalih keluar Aksara Baris Baharu daripada Baris

Apabila bekerja dengan fail teks, adalah perkara biasa untuk menemui aksara baris baharu (n) pada penghujung baris. Mengalih keluar aksara ini mungkin diperlukan untuk tugas pemprosesan tertentu.

Dalam coretan Go yang anda sediakan:

for {
    read_line, _ := ReadString('\n')
    fmt.Print(read_line)
}

Fungsi ReadString membaca aksara sehingga ia menemui pembatas tertentu, dalam kes ini, baris baharu watak. Walau bagaimanapun, watak baris baharu itu sendiri disertakan dalam hasilnya.

Untuk mengalih keluar aksara baris baharu, satu pendekatan yang dicadangkan dalam soalan anda ialah memotong aksara terakhir:

read_line = read_line[:len(read_line)-1]

Kaedah ini berfungsi dengan menghiris rentetan untuk mengecualikan aksara terakhir. Walau bagaimanapun, pendekatan ini boleh menjadi tidak cekap jika garisan sangat panjang, kerana ia perlu menyalin keseluruhan rentetan setiap kali.

Penyelesaian yang lebih cekap ialah menggunakan perpustakaan rentetan dan fungsi TrimSuffix:

read_line = strings.TrimSuffix(read_line, "\n")

TrimSuffix mengalih keluar akhiran (dalam kes ini, aksara baris baharu) daripada hujung rentetan, tanpa mencipta rentetan baharu. Pendekatan ini kurang intensif sumber dan oleh itu lebih berskala untuk fail teks yang besar.

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Aksara Baris Baharu dengan Cekap daripada Baris dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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