目录
1. 类型转换
在从前的学习中,知道布尔bool类型变量只有两种值true或false,C/C++、Python、JAVA等编程语言中,如果将布尔类型bool变量转换为整型int变量,通常采用 “0为假,非0为真”的方式,但是这个方式在Go语言中行不通。
Go语言中不允许隐式转换,所有类型转换必须显式声明,而且转换只能发生在两种相互兼容的类型之间。
注意:
- 能够转换的类型称为兼容类型,不能转换的类型叫做不兼容类型
- bool类型不能转换为int
var flag bool
flag = true
fmt.Printf("flag = %t\n", flag) //%t , bool类型占位符
//bool 不能 转换为int
fmt.Printf("flag = %d\n", int(flag)) //ERROR报错
- int整型也不能转换为bool
//0为假,非0为真
//整型 不能 转换为bool
flag = bool(1) //ERROR,报错
- 字符类型本质上就是整型(ASCII码),因此可以相互转换
var ch byte
ch = 'a'
var t int
t = int(ch) //类型转换,把ch的值取出来后,转成int再给t赋值
Go语言类型转换与类型别名解析

最低0.47元/天 解锁文章
4万+

被折叠的 条评论
为什么被折叠?



