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)
}
其他语言有默认的类型转换,但是golang只有强制类型转换!
值类型和引用类型
1.值类型:基本数据类型int、float、bool、string以及数组和struct。
2.引用类型:指针、slice、map、chan等都是引用类型。
有疑问加站长微信联系(非本文作者))
