Dalam bahasa pengaturcaraan moden, rentetan sering dilepaskan untuk memastikan aksara dan simbol khas diwakili dengan betul dalam atur cara. Walau bagaimanapun, Golang menyediakan cara yang sangat mudah untuk mengelakkan pelarian ini. Ciri ini boleh menjadi sangat praktikal dalam sesetengah senario, terutamanya apabila kita perlu memproses teks dalam format tertentu. Seterusnya, kami akan meneroka ciri rentetan yang tidak terlepas ini di Golang.
Di Golang, melepaskan rentetan boleh dicapai dengan menambahkan simbol 反引号
sebelum rentetan. Ini bermakna anda boleh memasukkan aksara dan simbol sewenang-wenang dalam rentetan tanpa melarikan diri tambahan. Ini sangat berguna apabila berurusan dengan beberapa teks berformat kompleks.
Mari kita menggambarkan ciri ini dengan contoh konkrit. Katakan kita perlu memproses fail HTML yang mengandungi beberapa kod JavaScript dan kita perlu memproses bahagian tertentu daripadanya. Contoh fail HTML ini adalah seperti berikut:
<!DOCTYPE html> <html> <head> <title>Example</title> <script> var hello = "Hello, World!"; // 需要进行处理的部分 alert(hello); </script> </head> <body> </body> </html>
Kami boleh mengekstrak kod JavaScript ini dengan mudah melalui ciri rentetan unescaped Golang. Contoh kod adalah seperti berikut:
package main import ( "fmt" "strings" ) func main() { html := ` <!DOCTYPE html> <html> <head> <title>Example</title> <script> var hello = "Hello, World!"; // 需要进行处理的部分 alert(hello); </script> </head> <body> </body> </html> ` start := strings.Index(html, "<script>") end := strings.Index(html, "</script>") js := html[start:end] fmt.Println(js) }
Seperti yang ditunjukkan dalam kod di atas, kami menggunakan simbol backtick untuk menentukan rentetan yang mengandungi keseluruhan fail HTML, dan kemudian mengekstraknya melalui fungsi yang disediakan oleh strings
pakej kod JavaScript. Kaedah ini sangat mudah dan kodnya lebih mudah dibaca dan diselenggara.
Sudah tentu, terdapat beberapa butiran yang perlu diberi perhatian apabila menggunakan rentetan yang tidak terlepas. Sebagai contoh, simbol backtick tidak boleh muncul semula dalam kandungan rentetan, jika tidak, pengkompil tidak akan dapat menghuraikan rentetan dengan betul. Di samping itu, panjang rentetan juga mungkin berbeza-beza, kerana mana-mana aksara di dalamnya tidak perlu dilepaskan, yang juga akan mempengaruhi pengiraan panjang rentetan.
Selepas semua pertimbangan ini, menggunakan ciri rentetan unescaped Golang boleh menjadikannya lebih mudah untuk kami mengendalikan rentetan yang mengandungi teks dalam format tertentu tanpa diganggu oleh simbol melarikan diri yang kompleks. Terutama dalam beberapa senario pemprosesan yang mempunyai keperluan ketat pada format rentetan, kami boleh menggunakan ciri ini untuk menyelesaikan tugas dengan lebih cekap.
Atas ialah kandungan terperinci Mengapa golang tidak terlepas daripada rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!