Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyelesaikan Ralat \"jenis tidak sepadan dan bait\" dalam Golang?

Bagaimana untuk Menyelesaikan Ralat \"jenis tidak sepadan dan bait\" dalam Golang?

Patricia Arquette
Patricia Arquetteasal
2024-10-27 20:39:30150semak imbas

How to Resolve the

Jenis Tidak Padan dalam Golang: Menyelesaikan Ralat (rentetan dan bait jenis tidak sepadan)

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!

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