golang的x%y是什么样的操作?

时间:2017-08-28 18:37:50

标签: go

我正在浏览一些golang教程,我遇到了这个for循环:

for n := 0; n <= 5; n++ {
    if n%2 == 0 {
        continue
    }
    fmt.Println(n)
}

我对n%2声明感到困惑。

这个输出是:

1
3
5

看起来这些不是2的倍数,但如果是这样的话我还不理解陈述的== 0部分?是否有资源谈论此操作,或者我应该查找的内容?

2 个答案:

答案 0 :(得分:9)

这称为模数运算符,它返回除法运算的余数。因此,当X可以被Y平均分割时,== 0将为真。

此运算符和%代表它在许多语言中都很常见。

请参阅相关问题:Understanding The Modulus Operator %

答案 1 :(得分:2)

它是余数/模运算符。这将使用给定的数字返回除法的其余部分: https://en.wikipedia.org/wiki/Modulo_operation

此代码片段计算所有不均匀的数字。