内建变量类型
rune类似于其他语言的char
Go提供了两种大小的复数类型:complex64和complex128,分别由float32和float64组成。内置函数complex从指定的实部和虚部构建复数
复数的复习
我们把形如z=a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位。当虚部等于零时,这个复数可以视为实数;当z的虚部不等于零时,实部等于零时,常称z为纯虚数。
如i=根号负1,其实根本不存在,这是我们想象的一个数叫i,有了这个i之后我们可以做很多事情,比如我们有个复数叫3+4i,其中3是实部,4i是虚部。3+4i可以理解为我们沿着横坐标走3个,+是向上,-是向下,向上走4i格,这个斜线的长度是5
i是一个有意思的数
我们将i放到指数部分
go语言验证欧拉公式
使用go语言表示复数
func euler() {
c := 3+4i
fmt.Println(cmplx.Abs(c))
}
运行结果如下:
验证欧拉公式
func euler() {
fmt.Println(cmplx.Pow(math.E,1i*math.Pi)+1)
}
运行结果如下:
因为是e的多少次方,所以可以写成如下方式:
func euler() {
fmt.Println(cmplx.Exp(1i*math.Pi)+1)
}
运行结果如下:
如何将结果变成0呢?可以使用printf
func euler() {
fmt.Printf("%.3f\n",cmplx.Exp(1i*math.Pi)+1)
}
运行结果如下:
Go语言的强制类型转换
go语言只有强制类型转换,没有隐士类型转换,简单的三角形勾股定理
func triangle() {
var a,b int = 3,4
var c int
c = int(math.Sqrt(float64(a*a + b*b)))
fmt.Println(c)
}
运行结果如下: