我试图在 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 似乎没有条件,所以在我的代码中我不知道如何解决它。