叮铃铃,这不有人在评论问下一篇何时更新,这不就来了嘛,😄
今天我们说说golang 的基本数据类型
基本类型如下:
//基本类型
布尔类型:bool 即true 、flase 类似于java中的boolean
字符类型:string 类似于java中的String整型:对于go中的整形分别有6中,其中还有分为有符号和无符号类型 ,加u有符号整数 不加u无符号整数
(u)int,(u)int8,(u)int16, (u)int32, (u)int64 如果不规定长度 int 还是 int8 还是int32 默认按照操作系统位数 来决定 64位系统就是int64 = 2 64 2^{64}2 64, 根据数据长度自定义整形定义类型即可uintptr(uintptr是整型,可以足够保存指针的值得范围,在32平台下为4字节,在64位平台下是8字节)
字节 :byte
字符: rune(可以理解为char类型)(32位)
浮点型: float32,float64,complex64(复数),complex128(复数) // golang中考拉到数学中的i复数,即:i=√-1 ,可以用于验证欧拉公式,这点下面会提到。
我们先说go中变量的定义类型
/**在go 中 变量名在前,类型在变量名后,以此方式来定义变量
*
/
//最简单的定义方式
var a string ="a"/**同样 可以用 ()包裹需要定义的多个变量
var (c string="1"d int=6k bool=true)// 也可以 省略 类型 ,注意 函数外部不能省略var 非全局变量,是包变量
var (aa=3ss="kkk"bb=true
)//%d %q\n 可以打出空字符串
func variable() {var a intvar s stringfmt.Printf("%d %q\n", a, s)}//初始化变量的值
func variableInitialValue() {var a, b int = 3, 4var s string = "abc"fmt.Println(a, b, s)
}//类型推断 go中变量的类型可以根据=后面的值自动推断 。
func variableInitialTypeJudge() {var a,b,c,s=3,4,true,"def"fmt.Println(a,b,c,s)
}//省略var
func variableShorter() {a,b,c,s:=3,4,true,"def"b=5fmt.Println(a,b,c,s)}
以上是对于定义不同类型变量的例子,供参考。
上面提到的欧拉公式 3+4i=0 这里利用go的complex类型来验证
其实就比如:
func euler() {c:= 3+4ifmt.Println(cmplx.Abs(c))//取模为5fmt.Printf("%.3f\n",cmplx.Exp(1i*math.Pi)+1)//(0.000+0.000i) 取小数点3fmt.Println(cmplx.Pow(math.E,1i*math.Pi)+1)//(0.000+0.000i)
}