Menu
CoddyTech

什么是空安全

本课属于 Coddy Kotlin 学习旅程的“基础知识”单元。第 12 课,共 93 课。

在许多编程语言中,最常见的错误之一就是尝试访问不存在的内容:null 值。这种情况会在变量保存的是“空”,而不是实际数据时发生。

想象一下,你要询问用户的姓名,但用户没有提供。如果你的代码没有先进行检查就尝试使用这个空姓名,程序就会崩溃。这类错误非常常见,因此被称为“价值十亿美元的错误”。

Kotlin 的解决方案:空安全

Kotlin 的设计目标是消除这类崩溃。默认情况下,Kotlin 中的变量不能保存 null 值:

fun main() {
    var name: String = "Alice"
    name = null  // 错误!无法编译
}

编译器会在代码运行前捕获这个问题。这就是 Kotlin“空值安全”的含义:语言本身会阻止你在不该使用 null 的地方意外使用它。

在接下来的课中,你将学习 Kotlin 如何让你在真正需要时使用可能为 null 的值,同时避免代码因崩溃而出错。

challenge icon

挑战

简单

声明两个不可空变量,以演示 Kotlin 的空安全:

  • 声明一个名为 username、值为 "Kotlin" 的 String 变量
  • 声明一个名为 score、值为 100 的 Int 变量

然后使用 println() 分别在不同的行打印这两个值。

请记住:在 Kotlin 中,普通(不可空)类型不能存放 null 值。编译器会确保你的变量始终包含有效数据。

亲手试试

fun main() {
    // TODO: 在下方编写你的代码
    // 声明一个名为 'username'、值为 "Kotlin" 的非空 String 变量
    
    // 声明一个名为 'score'、值为 100 的非空 Int 变量
    
    // 使用 println() 将这两个值分别打印在不同的行上
    
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Kotlin 在线编辑器