首頁 > 後端開發 > Golang > 主體

如果 Go 中的字串是不可變的,我該如何修改它?

DDD
發布: 2024-10-26 12:38:29
原創
944 人瀏覽過

How Can I Modify a String in Go If It's Immutable?

Go 中的字串變更:解決「無法指派給字串」錯誤

Go 字串是不可變的,這意義著它們不能直接修改一次創建的。當嘗試更改字串的內容時,此限制通常會引發錯誤「無法指派給 new_str[i]」。為了克服這項挑戰並修改字串,需要一種替代方法。

一種解決方案是將字串轉換為位元組切片,它可以像陣列一樣進行更改。該技術允許替換字串中的字元。以下程式碼示範了這種方法:

<code class="go">func ToUpper(str string) string {
    new_str := []byte(str)
    for i := 0; i < len(str); i++ {
        if str[i] >= 'a' && str[i] <= 'z' {
            chr := uint8(rune(str[i]) - 'a' + 'A')
            new_str[i] = chr
        }
    }
    return string(new_str)
}</code>
登入後複製

在此程式碼中,字串 str 會轉換為位元組切片 new_str。然後迭代位元組切片,將每個位元組與 ASCII 小寫字元範圍進行比較。如果遇到小寫字節,則將其替換為其等效的大寫 ASCII。最後,修改後的位元組切片被轉換回字串並返回。

這種方法可以在 Go 中更改字串,同時保持其不變性。它提供了一種靈活有效的方法來在各種上下文中操作字串。

以上是如果 Go 中的字串是不可變的,我該如何修改它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!