问:我想将字符串中的小写字符转换为大写,但 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中文网其他相关文章!