我試圖在 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 關注
- 97 瀏覽
添加回答
舉報
0/150
提交
取消