go语言的基本数据类型

基本数据类型中的常量已经介绍了 var  const  iota  。此处要对字符串特别说明,字符串也会被认为是基本数据类型,字符串实际在底层原理上与复合类型的数据非常相似。同事go语言支持八进制,6进制,科学计数法。空指针的值是nil。

整型

 go语言的整型和浮点型,复数一样,其值根据正负,大小的不同,分为多个具体类型。比如整型有int8  int16 int32 int64 等类型,但因为编译器的原因,go语言不会将他们严格定义为8位  16位 32 位

rune是int32的别名,使用utf-8进行编码,如果要访问字符串中的字符,比如遍历字符串中的每个字符,可以使用这个类型

整型的取值范围

 整型又分为带符号和无符号两种形式,int为带符号类型,uint为无符号类型。go语言同时支持int和uint这两种类型,他们的长度相同,但具体程度取决于不同编译器的实现

go语言里面也有直接定义好位数的类型  rune int8  int16 int32  int64 byte uint8 uint16 uint32

带符号类型中各个具体类型对应的值范围

int8   -128 -127  无符号类型 uint8  0-255

运算符

go语言里面数值运算符包括2元运算符,一元运算符

二元运算符包括算术运算,逻辑运算,比较运算,运算符优先级按从上到下的递减顺序排列。

在同一个优先级中,使用的左优先结合规则,如果特殊,可以用括号明确优先顺序

算术运算符+ — * / 适用于整型,浮点型和复数,但是取模运算符% 仅用于整型件的运算,取模运算符的符号和被取模数的符号总是一致的,除法运算符/ 的行为则依赖于操作数的类型,;;两个相同的整数类型可以使用下面的二元比较运算符进行比较,比较表达式的结果是布尔类型

如果算术运算的结果过大,就会出现溢出的现象,无论有无符号超出高出的bit位部分将被丢弃,如果原始的数值是有符号类型,数值的正负号可能会出现变化。

布尔型,数字类型和字符串等基本类型都是可比较的。也就是说两个相同类型的值可以用== !=进行比较

一元运算符,包括加法运算符,一元减法运算符,bit位操作运算符

一元加法运算符和一元减法运算符 

位操作运算符&^ 用于按位清空,对于表达式z = x &^y   如果对应y中某 bit为0,那么结果z对应的bit位等于x对应的值,否则z对应的bit位为0

移位运算符  << >> 的含义及说明,x << n x >> n ,n必须为无符号数

浮点型

go语言有两种类型的浮点型,分别为float32 float64 ,尽量使用float64

 

执行上面的代码,会有如上结果。float32输出的结果明显是不对的,这是因为float32是按照默认小数位输出的,但默认的小数点位数并不准确,float64则输出了正确的结果,所以,在使用浮点型是,应尽量使用float64

 

 

复数和布尔类型

go语言提供了两种不同大小的复数类型,分别为conplex64  和complex128 他们分别有float32和float64 组成,复数由实部和虚部组成,内置real,imag函数用于获取复数的实部与虚部

 复数是吧数据的实部和虚部分别进行处理,因其在编程中使用较少,接下来看布尔类型

go语言的波尔类型与其他语言的基本一直,关键字也是bool,值可以使用true false

不过go语言的布尔类型没有强制类型转换,无法把0转换成false

var  b  bool

b  = 0   是错误的

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值