2017-08-28 14 views
-9

私はいくつかのgolangのチュートリアルを通じてつもりだ、と私は、このforループに出くわした:私はn%2文で混乱しているgolangではどのような操作がx%yですか?

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

これの出力は次のとおりです。

1 
3 
5 

これらは2の倍数でないように見えますが、そのような場合、私は、ステートメントの== 0一部を理解していませんよ?この操作について話すリソースがあるのか​​、それとも私が調べなければならないものはありますか?

+1

あなたはより良い本/チュートリアルが必要です。 – KevinDTimm

+0

私は、このチュートリアルは、学生がすべての演算子について何らかの知識を持っていることを前提に動作していると思います。私は何をやっているのか分からず、私が試していたどんなキーワードの配列を使っても、Googleの検索は何も起こっていなかった。 Stack Overflowには基本的な質問のためのトラックがありません。私は数十もの質問を投稿しましたが、私はこれを知っていますが、それは初心者のための貴重なリソースです。私は何かを学び、その過程でいくつかのインターネットポイントを失った。 – rpivovar

+1

あなたの件名ではなく、Googleにあなたの件名を入力すると、その言語のすべての演算子を記述する 'https:// golang.org/ref/spec'が見つかりました。確かに、それは '剰余 'と定義された文字'% 'の第6番目の出現であり、剰余除算の婉曲表現であった。だから、もう少し勤勉はあなたの評判を守る-108: – KevinDTimm

答えて

9

これはモジュラス演算子と呼ばれ、除算演算の残りの部分を返します。したがって、XをYで均等に割ることができる場合、== 0が成り立ちます。

この演算子とそれを表す%は、多くの言語で共通です。それは余り/モジュロ演算子ですUnderstanding The Modulus Operator %

+0

ああ、ありがとう。それが私を許すときにこれを受け入れるでしょう。 – rpivovar

2

は、関連の質問を参照してください。これにより、指定された番号の除算の残りの部分が返されます。 https://en.wikipedia.org/wiki/Modulo_operation

このコードは、すべての不均等数を計算します。

関連する問題