Pembangun sering menghadapi cabaran untuk menangani literal rentetan yang luas dalam Go, terutamanya yang meluas melalui beberapa baris. Ini boleh membawa kepada isu pemformatan dan kebimbangan kebolehbacaan. Di sini, kami membincangkan amalan terbaik untuk mengurus literal rentetan panjang dalam Go.
Petikan mentah boleh digunakan untuk merangkum rentetan panjang dalam simbol (sepintas lalu). Ini membolehkan literal merentangi berbilang baris tanpa memerlukan penyambungan atau pemformatan khas. Walau bagaimanapun, mana-mana ruang hadapan atau belakang dalam petikan akan disertakan dalam rentetan yang terhasil.
db.Exec(`UPDATE mytable SET (I, Have, Lots, Of, Fields) = ('suchalongvalue', 'thisislongaswell', 'ohmansolong', 'wowsolong', 'loooooooooooooooooooooooooong')`)
Dalam contoh ini, ruang hadapan sebelum setiap nilai medan akan menjadi sebahagian daripada rentetan akhir, mengakibatkan ruang putih yang janggal berjalan.
Petikan Bercantum melibatkan memecahkan rentetan panjang kepada bahagian yang lebih kecil dan menyambungkannya menggunakan operator. Pendekatan ini memberikan lebih kawalan ke atas pemisah baris dan membolehkan pemformatan yang lebih bersih.
db.Exec("UPDATE mytable SET (I, Have, Lots, Of, Fields) = " + "('suchalongvalue', 'thisislongaswell', 'ohmansolong', " + "'wowsolong', 'loooooooooooooooooooooooooong')")
Walaupun kaedah ini menawarkan lebih fleksibiliti, ia boleh terdedah kepada ralat dan mengakibatkan kod yang sukar dibaca sepintas lalu.
Pendekatan alternatif yang menggabungkan kejelasan petikan mentah dengan kemudahan petikan bercantum ialah untuk menggunakan rentetan templat yang dilampirkan kutu belakang. Kaedah ini membenarkan rentetan merentangi berbilang baris sambil menghalang kemasukan ruang hadapan atau belakang.
q := `UPDATE mytable SET (I, Have, Lots, Of, Fields) = ` + "`('suchalongvalue', " + "`\n" + "`'thisislongaswell', " + "`\n" + "`'wowsolong', " + "`\n" + "`loooooooooooooooooooooooooong')` db.Exec(q)
Pendekatan ini menggabungkan faedah kedua-dua petikan mentah dan bercantum, menyediakan penyelesaian yang bersih dan boleh dibaca untuk mengendalikan rentetan panjang literal dalam Go.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Huruf Rentetan Panjang dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!