func main() {
// 无类型常量: 没有显示或者隐式声明其类型的常量,在一些特定的场景下编译器会自动赋予合适的类型
// 如果操作的双方都是没有声明类型的话,可以进行操作
fmt.Println('n' / 2.5) // 其中rune类型的基础类型是int32,却能与flaot64 进行除操作(只是看起来的 类型,实际是无类型)
c := 'b' // 此时变量c的类型是rune类型(已经被声明固定)
// fmt.Println(c / 2.2) // 此时int32(rune类型) 并不能与float64进行除操作
fmt.Println(c / 2.0) // 却可以与2.0这个无类型的常量进行除操作,因为2.0可以被int(2.0) == 2, 而2.2却不能int(2.2)
}
有疑问加站长微信联系(非本文作者)