仓颉编程快速上手
上QQ阅读APP看书,第一时间看更新

2.1.3 在声明变量时缺省数据类型

在声明变量时,当初始值的类型明确的时候,编译器可以根据初始值自动推断出变量的数据类型,此时,可以缺省数据类型。

以下两行代码是完全等效的:

let teacherName: String = "刘玥"
let teacherName = "刘玥"

在以上变量声明中,初始值为字符串类型的字面量"刘玥",因此如果缺省数据类型,编译器会将teacherName推断为String类型。

在没有数据类型上下文可参考的情况下,整数类型的字面量会被推断为Int64类型,浮点类型的字面量会被推断为Float64类型。

var ageOfStudent = 19  // 19被推断为Int64类型,因此ageOfStudent也被推断为Int64类型
var totalScore = 0.0  // 0.0被推断为Float64类型,因此totalScore也被推断为Float64类型

在以上两个变量声明中,缺省了数据类型,因此编译器会根据初始值的类型来推断变量的类型。整数类型的字面量19为Int64类型,因此ageOfStudent被推断为Int64类型;浮点类型的字面量0.0为Float64类型,因此totalScore被推断为Float64类型。

练习

修改2.1.2节的练习中的4个变量声明,尝试在声明变量时缺省数据类型。