我正在尝试将以下C代码移植到Go:
if (x == 0 || x-- == 0) {
// Stuff
}
这在Go中是不合法的,因为我无法在check子句中修改
x
。没有例如在Go中表示此内容的好方法复制块的内容?
最佳答案
如果x--
是一个拼写错误,应该是--x
,那么我将对x
的更改明确化:
if x == 0 || x == 1 {
x = 0
// Stuff
} else {
x--
}
否则,您的C代码有错误。如果
x == 0
为false,则x-- == 0
也将为false,因为您使用的是后递增运算符。因此,该代码将等效于:if (x == 0) {
// Stuff
} else {
x--;
}