为了账号安全,请及时绑定邮箱和手机立即绑定

Golang for循环与2个变量等效?

Golang for循环与2个变量等效?

Go
aluckdog 2022-10-24 09:01:52
我试图在 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)

}


查看完整回答
反对 回复 2022-10-24
  • 1 回答
  • 0 关注
  • 83 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信