简介
Go语言作为一门通用型语言,很罕见的吧complex作为了内建函数。可见其试图涉及的领域是很广泛的。
在Go语言中complex有两种类型,complex32
和complex64
。complex64
中实部和虚部是32位的,在complex128
中实部和虚部是64位的。
复数回顾
这里我裂开了
我们写一个函数尝试一下欧拉公式:
func euler() {
// fmt.Println(cmplx.Pow(math.E, 1i*math.Pi) + 1)
fmt.Println(cmplx.Exp(1i*math.Pi) + 1)
}
输出:(0+1.2246467991473515e-16i)
可以发现这里并不是真正意义上的0,因为complex其实是两个float,任何语言中的float都是不准的。
以python举例:
import cmath
cmath.exp(1j * cmath.pi) + 1
输出:1.2246467991473515e-16j
那么怎么取0值呢?
我们可以使用fmt.Printf("%.3f\n", cmplx.Pow(math.E, 1i*math.Pi) + 1)
去小数点后三位。