什么是空安全
本课属于 Coddy Kotlin 学习旅程的“基础知识”单元。第 12 课,共 93 课。
在许多编程语言中,最常见的错误之一就是尝试访问不存在的内容:null 值。这种情况会在变量保存的是“空”,而不是实际数据时发生。
想象一下,你要询问用户的姓名,但用户没有提供。如果你的代码没有先进行检查就尝试使用这个空姓名,程序就会崩溃。这类错误非常常见,因此被称为“价值十亿美元的错误”。
Kotlin 的解决方案:空安全
Kotlin 的设计目标是消除这类崩溃。默认情况下,Kotlin 中的变量不能保存 null 值:
fun main() {
var name: String = "Alice"
name = null // 错误!无法编译
}编译器会在代码运行前捕获这个问题。这就是 Kotlin“空值安全”的含义:语言本身会阻止你在不该使用 null 的地方意外使用它。
在接下来的课中,你将学习 Kotlin 如何让你在真正需要时使用可能为 null 的值,同时避免代码因崩溃而出错。
挑战
简单声明两个不可空变量,以演示 Kotlin 的空安全:
- 声明一个名为
username、值为"Kotlin"的String变量 - 声明一个名为
score、值为100的Int变量
然后使用 println() 分别在不同的行打印这两个值。
请记住:在 Kotlin 中,普通(不可空)类型不能存放
null值。编译器会确保你的变量始终包含有效数据。
亲手试试
fun main() {
// TODO: 在下方编写你的代码
// 声明一个名为 'username'、值为 "Kotlin" 的非空 String 变量
// 声明一个名为 'score'、值为 100 的非空 Int 变量
// 使用 println() 将这两个值分别打印在不同的行上
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Kotlin 在线编辑器