上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个变量声明,尝试在声明变量时缺省数据类型。