我正在尝试将一些C代码转换为Go。
for i := l + 1; i < r; ++i {
ans = max(ans, nums[l]*nums[i]*nums[r]+maxCoin(dp, l, i, nums)+maxCoin(dp, i, r, nums))
}
Go没有前缀运算符,如何将此循环转换为使用postfix?
答案 0 :(得分:2)
使用后缀increment statement,在这种情况下没有任何区别:
for i := l + 1; i < r; i++ {
ans = max(ans, nums[l]*nums[i]*nums[r]+maxCoin(dp, l, i, nums)+maxCoin(dp, i, r, nums))
}
差异只在你使用递增/递减运算符形成的表达式的结果时才有意义,但是因为在Go中它们甚至不是运算符而是语句,所以它并不重要。有关推理,请参阅FAQ: Why are ++ and -- statements and not expressions? And why postfix, not prefix?