我试图在 doc 中理解 golang 的语法,但有些事情即使他们解释也很难理解。例如:func Reverse(s string) string { r := []rune(s) for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 { r[i], r[j] = r[j], r[i] } return string(r)}我把它翻译成原始代码:func reverseString2(str string) string { var array = []rune(str) for i := 0; i < len(str)/2; i++ { for j := len(str) - 1; ???? ; j-- { // --- } } return string(array)}我的问题是,在第一个for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1中,j 似乎没有条件,所以在我的代码中我不知道如何解决它。
1 回答
波斯汪
TA贡献1811条经验 获得超4个赞
这是另一种更容易阅读并导致相同结果的方式。唯一的区别是变量的范围j变得不同了。
func Reverse(s string) string {
r := []rune(s)
j := len(r) - 1
for i := 0; i < len(r)/2; i++ {
r[i], r[j] = r[j], r[i]
j--
}
return string(r)
}
- 1 回答
- 0 关注
- 83 浏览
添加回答
举报
0/150
提交
取消