Rumah  >  Artikel  >  pembangunan bahagian belakang  >  ## Bagaimanakah Saya Boleh Menukar Aksara Kecil kepada Huruf Besar dalam Rentetan Go?

## Bagaimanakah Saya Boleh Menukar Aksara Kecil kepada Huruf Besar dalam Rentetan Go?

Barbara Streisand
Barbara Streisandasal
2024-10-26 02:02:02619semak imbas

## How Can I Convert Lowercase Characters to Uppercase in a Go String?

Mengubah Rentetan dalam Go

S: Saya mahu menukar aksara huruf kecil kepada huruf besar dalam rentetan, tetapi Go melemparkan ralat: "cannot assign to new_str[i] ". Bagaimanakah saya boleh mencapai ini?

J: Memahami Ketidakbolehubahan Go String

Dalam Go, rentetan tidak boleh diubah, bermakna setelah dibuat, kandungannya tidak boleh diubah suai. Tingkah laku ini sejajar dengan Spesifikasi Bahasa Go, yang menyatakan:

"Rentetan tidak boleh diubah: setelah dibuat, adalah mustahil untuk menukar kandungan rentetan."

J: Mengatasi Ketidakbolehubahan Rentetan

Untuk mengubah suai rentetan dalam Go, anda mempunyai dua pilihan:

  1. Hantar rentetan ke []hirisan bait dan ubah hirisan.
  2. Buat yang baharu rentetan dengan pengubahsuaian yang diingini.

J: Mengubah Rentetan Menggunakan []Kepingan bait

Berikut ialah versi diubah suai kod anda yang menggunakan kepingan []bait untuk mengubah aksara.

<code class="go">package main

import (
    "bytes"
    "fmt"
)

func ToUpper(str string) string {
    strBytes := []byte(str)
    for i := 0; i < len(str); i++ {
        if str[i] >= 'a' && str[i] <= 'z' {
            chr := uint8(rune(str[i]) - 'a' + 'A')
            strBytes[i] = chr
        }
    }
    return string(strBytes)
}

func main() {
    fmt.Println(ToUpper("cdsrgGDH7865fxgh"))
}
</code>

Atas ialah kandungan terperinci ## Bagaimanakah Saya Boleh Menukar Aksara Kecil kepada Huruf Besar dalam Rentetan Go?. 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