問:我想將字串中的小寫字元轉換為大寫,但Go 拋出錯誤:「無法指派給new_str [i] 」。我怎樣才能實現這個目標?
在 Go 中,字串是不可變的,這意味著一旦創建,其內容就無法修改。此行為符合Go 語言規範,其中規定:
「字串是不可變的:一旦創建,就不可能更改字串的內容。」
要修改Go 中的字串,您有兩個選擇:
這是程式碼的修改版本,它使用 []byte 切片來更改字元。
<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>
以上是## 如何將 Go 字串中的小寫字元轉換為大寫字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!