Golangで余りを見つける方法

PHPz
リリース: 2023-04-27 10:46:37
オリジナル
2135 人が閲覧しました

コンピューター プログラミングでは、剰余を求めるのは一般的な操作です。 Golang では余りを求める方法がたくさんありますが、この記事ではそれらの方法とその違い、応用シナリオを紹介します。

1. モジュロ演算子 (%) を使用する

Golang では、モジュロ演算子 (%) を使用して 2 つの数値の余りを求めることができます。例:

a := 7
b := 3
c := a % b // c 的值为 1
ログイン後にコピー

この例では、7 を 3 で割った余りを計算し、結果は 1 になります。配当がマイナスの場合でも、結果はプラスであることに注意してください。例:

a := -7
b := 3
c := a % b // c 的值为 -1
ログイン後にコピー

モジュロ演算子を使用して浮動小数点数の剰余を計算すると、コンパイル エラーが発生することに注意してください。例:

a := 5.2
b := 2.5
c := a % b // 编译错误
ログイン後にコピー

したがって、浮動小数点数の剰余を計算する場合は、次の方法を使用する必要があります。

2. math パッケージの関数を使用する

Golang の math パッケージには、浮動小数点数を処理できる剰余に関連する関数がいくつか用意されています。これらの関数は次のとおりです。

  1. math.Mod(x, y): x を y で割った余りを返します。結果は x と同じ符号になります。
x := 5.2
y := 2.5
z := math.Mod(x, y) // z 的值为 0.2
ログイン後にコピー

y が 0 の場合、実行時エラーが発生することに注意してください。

  1. math.Remainder(x, y): x を y で割った余りを返します。結果は x と同じ符号になります。
x := -7.3
y := 3.1
z := math.Remainder(x, y) // z 的值为 -1.1
ログイン後にコピー

y が 0 の場合、実行時エラーが発生することに注意してください。

3. Golang 構造を使用するメソッド

Golang 構造で剰余を計算するメソッドを定義できます。この方法では、計算プロセスを構造内にカプセル化できるため、コードがより標準化され、保守が容易になります。以下は構造体の使用例です:

type Calculator struct {}

func (c Calculator) Mod(a, b int) int {
    return a % b
}

func main() {
    calc := Calculator{}
    a := 7
    b := 3
    c := calc.Mod(a, b) // c 的值为 1
}
ログイン後にコピー

この例では、Calculator 構造体を定義し、その中に Mod メソッドを定義します。このメソッドは 2 つの整数をパラメータとして受け取り、その剰余を返します。 main 関数では、Calculator オブジェクトをインスタンス化し、Mod メソッドを呼び出して剰余を計算します。

概要

この記事では、モジュロ演算子、数学パッケージの関数、構造体の使用など、Golang で剰余を求めるいくつかの方法を紹介します。実際のプログラミングでは、状況に応じて最適な方法を選択できます。整数の余りを計算する必要がある場合は、モジュロ演算子を使用できます。浮動小数点数の余りを計算する必要がある場合は、数学パッケージの関数を使用できます。プロジェクト内に複数の場所がある場合は、数学パッケージの関数を使用できます。剰余を計算する必要がある場合は、このプロセスの構造メソッドを通じて剰余をカプセル化できます。

以上がGolangで余りを見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート