Goには2つの複合型があります。complex64 と complex128 です。
Goで複素数の初期化をする
複素数の初期化は実に簡単です。コンストラクタや初期化構文も同様に使えます。
c1 := complex(10, 11) // constructor init
c2 := 10 + 11i // complex number init syntax
複素数の部分を取得する
複素数には実数部と虚数部という2つの部分があります。これらを得るための関数は以下の通りです。
c := complex(23, 31)
realPart := real(c) // gets real part
imagPart := imag(c) // gets imaginary part
複素数で計算してみる
複素数変数は、足し算、引き算、掛け算、割り算など、あらゆる演算を行うことができる。
複素数に対して計算を行う例を見てみましょう。
package main
import (
"fmt"
)
func main() {
c1 := complex(2, 3)
c2 := 4 + 5i // complex initializer syntax a + ib
c3 := c1 + c2 // addition just like other variables
fmt.Println("Add: ", c3) // prints "Add: (6+8i)"
re := real(c3) // get real part
im := imag(c3) // get imaginary part
fmt.Println(re, im) // prints 6 8
}
このように、Goでは複素数の変数を使うことができます。