2017-08-28 87 views
0

我想将一些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?

回答

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?

+0

好吧,我没有得到我期待的结果,所以认为它可能与此有关。但很高兴知道,谢谢。 – chefcurry7