数据类型转换的格式
1.T(表达式)
- 采用数据类型前置加括号的方式进行类型转换。T表示要转换的类型;表达式包括变量、数值、函数返回值等
- 类型转换时,需要考虑采用两种类型之间的关系和范围,是否会发生数值截断
- 布尔型无法与其他类型转换
2.float与int之间的转换
- float转int会导致精度损失
3.int转string
- 相当于是 byte 或 rune 转string
- 该int 值是ASCII吗的编号或者Unicode字符集的编号,转成 string 就是讲根据字符集,将对应编号的字符查找出来
- 当该值超过Unicode编号的返回,则转成的字符串显示为乱码
- 例如,当19968转string,就是“一”
【备注】
ASCII字符集中数字的10进制范围是 [30 - 39]
ASCII字符集中大写字母的10进制范围是 [65 - 90]
ASCII字符集中小写字母的10进制范围是 [97 - 122]
Unicode字符集中汉字的范围是 [4e00 - 9fa5],10进制的范围是[19968 - 40869]
1 | package main |
常量声明方式
1.相对于变量,常量是恒定不变的值,例如圆周率
- 常量是一个简单值的标识符,在程序运行时,不会被修改
2.常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型
3.常量的定义格式:
- const 标识符 [类型] = 值
- 可以省略类型说明符 [type],因为编译器可以根据变量的值来自动推断其类型
- 显示类型定义: const B string = “Joe”
- 隐式类型定义: const C = “Joe”
4.多个相同类型的声明可以简写为:
- const WIDTH , HEIGHT = value1, value2
5.常量定义未被使用,不会再编译时出错
常量用于枚举(常量组)
例如如下格式:
1 | const ( |
数字0、1、2分别表示未知性别、女性、男性
常量组中如果不指定类型和初始值,则与上一行非空常量的值相同
1 | const ( |
打印 a b c ,输出 :10 10 10
iota
1.iota ,特殊常量值,是一个系统定义的可以被编译器修改的常量值。iota只能出现在常量中。
2.在每一个const 关键字出现时,被重置为0,然后每出现一个常量,iota所代表的数值会自动增加1。iota可以理解成常量组中的常量的计数器,不论该常量的值是什么,只要有一个常量,那么iota就加1
3.iota可以被用作枚举值
1 | package main |