入門:基礎語法(二)內建變數型別
golang內建型別包括:
bool,string,int,uintptr,byte,rune,float,complex
golang作為一門通用程式語言,把complex作為內建型別是很少見的,我們這裡用golang驗證以下尤拉公式:
e^(i*PI)+1=0
複數所使用的包是cmplx,下面請看程式碼:
func euler() { fmt.Println(cmplx.Pow(math.E, 1i*math.Pi) + 1) fmt.Println() fmt.Println(cmplx.Exp(1i*math.Pi) + 1) }
本人的計算機輸出的結果是:
(0+1.2246467991473515e-16i)
為什麼不是0?很簡單,float無法表示0!如果一定要,使用fmt.printf("%.3f")來進行輸出的
golang中型別轉換是強制的
math.Sqrt(a float)所需要的引數是一個float型別,我們這裡求證以下勾股定理
func triangle() { var a, b int = 3, 4 var c int c = int(math.Sqrt(float64(a*a + b*b))) fmt.Println(c) }