bool:布尔类型 true false
string:字符串类型
(u)int :int类型,加上u表示无符号int类型,不规定长度则int长度根据操作系统决定,32位系统中为32位,64位系统中为64位。
(u)int8 :规定长度的int 8位
(u)int16:规定长度的int 16位
(u)int32:规定长度的int 32位
(u)int64:规定长度的int 64位
uintptr:指针类型
byte:8位,大家都知道
rune:go语言中的char类型,长度 32位 4字节 。
float32:32位浮点数
float64:64位浮点数
complex64:复数,实部和虚部都为32位
complex128:复数,实部和虚部都为64位
go语言的内建变量就支持复数,NB啊,验证一下试试:
func euler() {
cc :=3+4i
fmt.Println(cmplx.Abs(cc))
}
定义一个值为:3+4i的复数,然后打印出它的模,也就是绝对值,应该时3的平方+4的平方开根号,值为5
再验证一下欧拉公式(e的i*pi次幂+1=0):
fmt.Println(cmplx.Pow(math.E,1i*math.Pi)+1)
结果:
实部为0,虚部为一个很小的浮点数,复数的实部和虚部都是浮点数。
想要输出为0,只需要取小数点后三位即可。
fmt.Printf("%.3f\n",cmplx.Pow(math.E,1i*math.Pi)+1)
控制台:
(0.000+0.000i)
强制类型转换:
go语言只有强制类型转换,没有隐式转换。
func triangle() {
var a,b int=3,4
var c int
c=int(math.Sqrt(float64(a*a+b*b)))
fmt.Println(c)
}