在go語言中,複數主要用於科學計算上;Go內建有很多科學計算的函式庫,而作為一門泛用程式語言,提供一個方便的複數型別還是挺有必要的。 Go語言中複數的型別有兩種:complex128(64位元實數和虛數)和complex64(32位元實數和虛數),其中complex128為複數的預設型別。
本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。
複數主要用於一些科學上的計算,最主要應用還是在數學理論上。
Go已經有很多科學計算的函式庫了。作為一門泛用程式語言,提供一個方便的複數類型還挺有必要的。
Go語言中的複數
在電腦中,複數是由兩個浮點數表示的,其中一個表示實部(real ),一個表示虛部(imag)。
Go語言中複數的型別有兩種,分別是 complex128(64 位元實數和虛數)和 complex64(32 位元實數和虛數),其中 complex128 為複數的預設型別。
複數的值由三個部分組成 RE IMi,其中 RE 是實數部分,IM 是虛數部分,RE 和 IM 均為 float 類型,而最後的 i 是虛數單位。
宣告複數的語法格式如下所示:
var name complex128 = complex(x, y)
其中name 為複數的變數名,complex128 為複數的類型,「=」後面的complex 為Go語言的內置函數用來為複數賦值,x、y 分別表示構成該複數的兩個float64 類型的數值,x 為實部,y 為虛部。
上面的宣告語句也可以簡寫為下面的形式:
name := complex(x, y)
對於一個複數z := complex(x, y),可以透過Go語言的內建函數real(z) 來得到該複數的實部,也就是x;透過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"
如果大家對複數的運演算法則不是很了解,可以查閱《複數運演算法則》,其中詳細的講解了複數的加減乘除操作。
複數也可以用==和!=進行相等比較,只有兩個複數的實部和虛部都相等的時候它們才是相等的。
Go語言內建的 math/cmplx 套件中提供了許多操作複數的公共方法,實際操作建議大家使用複數預設的 complex128 類型,因為這些內建的套件中都使用 complex128 類型作為參數。
以上是go語言的複數用來做什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!