<语句中的类型转换
switch case判断字符串switch语句对case表达式的结果类型有如下要求:
要求case表达式的结果能转换为switch表⽰式结果的类型
并且如果switch或case表达式的是⽆类型的常量时,会被⾃动转换为此种常量的默认类型的值。⽐如整数1的默认类型是int, 浮点数3.14的默认类型是float64
func main() {
func main() {
value1 := [...]int8{0, 1, 2, 3, 4, 5, 6}
switch 1 + 3 {
case value1[0], value1[1]:
fmt.Println("0 or 1")
case value1[2], value1[3]:
fmt.Println("2 or 3")
case value1[4], value1[5], value1[6]:
fmt.Println("4 or 5 or 6")
}
}
}
switch 表达式的结果是int类型,case表达式的结果是int8类型,⽽int8不能转换为int类型,所以上述会报错误./:10:1: invalid case value1[0] in switch on 1 + 3 (mismatched types int8 and int)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。