Rumah > pembangunan bahagian belakang > Golang > ## Mengapa Saya Tidak Boleh Mengubah Suai Rentetan di Tempat di Go?

## Mengapa Saya Tidak Boleh Mengubah Suai Rentetan di Tempat di Go?

Linda Hamilton
Lepaskan: 2024-10-27 10:25:30
asal
902 orang telah melayarinya

## Why Can't I Modify a String in Place in Go?

Mengapa saya tidak boleh mengubah suai rentetan di tempat dalam Go?

Rentetan dalam Go tidak boleh diubah, bermakna setelah dibuat, anda tidak boleh mengubah suai kandungannya. Ini jelas daripada ralat berikut: "cannot assign to new_str[i]".

Untuk menukar kandungan rentetan, anda mesti menghantarnya ke hirisan []bait dahulu. Tidak seperti rentetan, kepingan bait sememangnya boleh berubah. Anda kemudiannya boleh melakukan pengubahsuaian yang anda inginkan pada kepingan bait dan menghantarnya kembali ke rentetan menggunakan fungsi rentetan(...).

Berikut ialah versi diubah suai kod anda yang menggunakan kepingan bait untuk menukar aksara huruf kecil kepada huruf besar:

<code class="go">func ToUpper(str string) string {
    bytes := []byte(str)
    for i := 0; i < len(str); i++ {
        if bytes[i] >= 'a' && bytes[i] <= 'z' {
            chr := uint8(rune(bytes[i]) - 'a' + 'A')
            bytes[i] = chr
        }
    }
    return string(bytes)
}</code>
Salin selepas log masuk

Kini, apabila anda memanggil ToUpper("cdsrgGDH7865fxgh"), ia akan menukar semua aksara kecil kepada huruf besar dengan betul.

Atas ialah kandungan terperinci ## Mengapa Saya Tidak Boleh Mengubah Suai Rentetan di Tempat di Go?. 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