Go 言語には、complex128 (64 ビットの実数と虚数) と complex64 (32 ビットの実数と虚数) の 2 種類の複素数があり、 complex128 がデフォルトの複素数の種類です。
複素数の値は、RE + IMi の 3 つの部分で構成されます。RE は実部、IM は虚数部、RE と IM は両方とも float 型で、最後の i は虚数単位です。
複数を宣言する構文は次のとおりです。
var name complex128 = complex(x, y)
このうち、nameは複素数の変数名、complex128は複素数の型、「=」の後ろの複素数は複素数に値を代入するためのGo言語の組み込み関数、xとy はそれぞれ複素数を構成する 2 つの float64 値を表し、x は実数部、y は虚数部です。
上記の宣言ステートメントは、次の形式に短縮することもできます。
name := complex(x, y)
複素数z := complex(x, y)
の場合、複素数の実部、つまり x は Go 言語の組み込み関数real(z)
を通じて取得できます; 複素数の虚部つまり、 imag(z)
y を通じて取得できます。
[例] 組み込みの complex 関数を使用して複素数を構築し、real 関数と imag 関数を使用して複素数の実数部と虚数部を返します。
var x complex128 = complex(1, 2) // 1+2i
var y complex128 = complex(3, 4) // 3+4i
fmt.Println(x*y) // "(-5+10i)"
fmt.Println(real(x*y)) // "-5"
fmt.Println(imag(x*y)) // "10"
==
と!=
を使用して、複素数が等しいかどうかを比較することもできます。2 つの複素数は、実数部と虚数部が等しい場合にのみ等しいと見なされます。
Go 言語の組み込み math/cmplx パッケージには、複素数を操作するための多くのパブリック メソッドが用意されています。実際には、これらの組み込みパッケージはすべて complex128 型を次のように使用するため、複素数にはデフォルトの complex128 型を使用することをお勧めします。パラメータ。