Mesej ralat (rentetan dan bait jenis tidak sepadan) menunjukkan perbezaan antara jenis yang dijangka dan yang disediakan dalam operasi tertentu. Di Golang, ralat berlaku apabila cuba menggabungkan rentetan dengan bait, terutamanya disebabkan oleh jenis data berbeza yang terlibat.
Menganalisis kod yang disediakan, kami boleh mengenal pasti baris yang bermasalah:
<code class="go">new_str = new_str + str[i + 1]</code>
dan
<code class="go">return f(g(str)) + str[0]</code>
Isu timbul kerana str[i 1] dan str[0] ialah bait, manakala new_str dan f(g(str)) ialah rentetan. Penaipan ketat Golang memerlukan penukaran eksplisit apabila bekerja dengan jenis data yang berbeza.
Untuk menyelesaikan percanggahan ini, kita perlu menukar bait (aksara tunggal) daripada tatasusunan str kepada rentetan sebelum menggabungkannya. Ini boleh dicapai menggunakan fungsi penukaran rentetan seperti berikut:
<code class="go">new_str = new_str + string(str[i + 1])</code>
<code class="go">return f(g(str)) + string(str[0])</code>
Dengan menggabungkan penukaran ini, kami memastikan bahawa jenis sepadan dan operasi adalah sah.
Berikut ialah contoh untuk menunjukkan kod yang diperbetulkan:
<code class="go">package main import "fmt" func g(str string) string { var i = 0 var new_str = "" for i < len(str)-1 { new_str = new_str + string(str[i+1]) i = i + 1 } return new_str } func main() { fmt.Println(g("fruits")) }</code>
Dengan menukar bait kepada rentetan pada titik penggabungan, kami berjaya menghapuskan ralat (rentetan dan bait jenis tidak sepadan) dan memastikan operasi yang sah.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'jenis tidak sepadan dan bait\' dalam Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!