Membezakan Baris Baharu dalam Go: Mengekalkan Pecah Rentetan Dalaman
Apabila membaca output daripada arahan Linux menggunakan exec.Command, tatasusunan bait yang terhasil mungkin mengandungi kedua-dua aksara baris baharu literal ("n") dan baris baharu yang terlepas ("\n"). Ini boleh menimbulkan cabaran apabila cuba membahagikan output kepada baris sambil mengekalkan pemisah rentetan dalam.
Satu pendekatan ialah menggantikan baris baharu yang terlepas dengan baris baharu sebenar menggunakan baris berikut:
strings.Replace(out, `\n`, "\n", -1)
Oleh melakukan ini, kami secara berkesan menukar baris baharu yang terlepas kepada bentuk asalnya, membolehkan kami membahagikan output kepada baris menggunakan kaedah standard seperti sebagai:
lines := strings.Split(out, "\n")
Ini akan mengakibatkan output dipecahkan kepada baris, tetapi pecahan dalam rentetan akan dikekalkan. Sebagai contoh, pertimbangkan output berikut:
First line: "test1" Second line: "123;\n234;\n345;" Third line: "456;\n567;" Fourth line: "test4"
Memisahkan output ini menggunakan teknik di atas akan menghasilkan baris berikut:
First line: "test1" Second line: "123;\n234;\n345;" Third line: "456;\n567;" Fourth line: "test4"
Seperti yang anda lihat, putus rentetan dalam adalah dipelihara, dan output dipecahkan dengan betul kepada baris.
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Pecah Rentetan Dalaman Apabila Memisahkan Rentetan Go dengan Baris Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!