2 回答
TA贡献1821条经验 获得超6个赞
您不能分配给 of 的元素,v
因为v
它是一个字符串,而字符串是不可变的。您可以将字符串转换为[]byte
第一个,然后使用它的元素,但如果您的字符串包含多字节字符,则不安全。
v:=[]byte(ws[i])
或者您可以将字符串转换为 a[]rune
并使用它:
v:=[]rune(ws[i])
然后您可以分配给 的元素v
,完成后,将其转换回字符串:
str:=string(v)
TA贡献1773条经验 获得超3个赞
如果要执行该操作,则必须将单词从字符串转换为 []rune
此代码有效:)
package main
import (
"fmt"
"strings"
)
func main() {
result := SpinWords("Welcome to the jungle we got fun and games")
fmt.Println(result)
}
func SpinWords(str string) string {
ws := strings.Split(str, " ")
for i := 0; i < len(ws); i++ {
v := ws[i]
wLen := len(v)
if wLen > 4 {
vinrune := []rune(v)
for j := 0; j < wLen/2; j++ {
vinrune[j], vinrune[wLen-1-j] = vinrune[wLen-1-j], vinrune[j]
}
v = string(vinrune)
ws[i] = v
}
}
return strings.Join(ws, " ")
}
- 2 回答
- 0 关注
- 104 浏览
添加回答
举报