Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Membetulkan \'operasi tidak sah: new_str str[i 1] (rentetan dan bait jenis tidak sepadan)\' dalam Golang?

Bagaimana untuk Membetulkan \'operasi tidak sah: new_str str[i 1] (rentetan dan bait jenis tidak sepadan)\' dalam Golang?

Susan Sarandon
Lepaskan: 2024-11-03 13:38:30
asal
661 orang telah melayarinya

How to Fix

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

Di Golang, anda mungkin menghadapi ralat "operasi tidak sah : new_str str[i 1] (rentetan dan bait jenis tidak sepadan)" kerana jenis tidak sepadan. Ralat ini timbul apabila cuba menggabungkan bait (str[i 1]) dengan rentetan (new_str). Go mewajibkan penukaran jenis eksplisit.

Dalam kod contoh yang disediakan, ralat ini berlaku dalam fungsi g dan f:

  • Dalam g, penyatuan new_str dan str[i 1] memerlukan penukaran jenis. Sintaks yang betul ialah new_str = new_str string(str[i 1]).
  • Dalam f, penyatuan f(g(str)) dan str[0] juga memerlukan penukaran jenis. Kod yang diperbetulkan ialah return f(g(str)) string(str[0]).

Dengan menukarkan bait kepada rentetan secara eksplisit, anda boleh menyelesaikan ketidakpadanan jenis dan mengelakkan ralat. Berikut ialah coretan kod yang disemak dengan penukaran yang diperlukan:

<code class="go">package main

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 f(str string) string {
    if len(str) == 0 {
        return ""
    } else if len(str) == 1 {
        return str
    } else {
        return f(g(str)) + string(str[0])
    }
}

func main() {
    // ...
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan 'operasi tidak sah: new_str str[i 1] (rentetan dan bait jenis tidak sepadan)' dalam Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan