- Kotlin 教程
- Kotlin - 首页
- Kotlin - 概述
- Kotlin - 环境搭建
- Kotlin - 架构
- Kotlin - 基本语法
- Kotlin - 注释
- Kotlin - 关键字
- Kotlin - 变量
- Kotlin - 数据类型
- Kotlin - 运算符
- Kotlin - 布尔值
- Kotlin - 字符串
- Kotlin - 数组
- Kotlin - 范围
- Kotlin - 函数
- Kotlin 控制流
- Kotlin - 控制流
- Kotlin - if...Else 表达式
- Kotlin - When 表达式
- Kotlin - For 循环
- Kotlin - While 循环
- Kotlin - Break 和 Continue
- Kotlin 集合
- Kotlin - 集合
- Kotlin - 列表
- Kotlin - 集合
- Kotlin - 映射
- Kotlin 对象和类
- Kotlin - 类和对象
- Kotlin - 构造函数
- Kotlin - 继承
- Kotlin - 抽象类
- Kotlin - 接口
- Kotlin - 可见性控制
- Kotlin - 扩展
- Kotlin - 数据类
- Kotlin - 密封类
- Kotlin - 泛型
- Kotlin - 委托
- Kotlin - 解构声明
- Kotlin - 异常处理
- Kotlin 有用资源
- Kotlin - 快速指南
- Kotlin - 有用资源
- Kotlin - 讨论
Kotlin - 关键字
Kotlin 关键字是在 Kotlin 编程中使用的预定义保留字,对编译器具有特殊含义。这些词不能用作标识符(变量名、包名、函数名等),如果使用则编译器会抛出异常。
Kotlin 使用fun关键字来定义函数,所以如果我们尝试将其用作变量名,则会发生异常。例如
fun main() { var fun = "Zara Ali" // Not allowed, throws an exception var age = 19 // Valid variable name println("Name = $fun") println("Age = $age") }
运行以上 Kotlin 程序时,将生成以下输出
main.kt:2:7: error: expecting property name or receiver type var fun = "Zara Ali" // Not allowed, throws an exception ^ main.kt:2:11: error: expecting '(' var fun = "Zara Ali" // Not allowed, throws an exception ^ main.kt:5:21: error: keyword cannot be used as a reference println("Name = $fun") ^
Kotlin 关键字已分为三大类:(a) 硬关键字 (b) 软关键字 (c) 修饰符关键字
作为良好的编程实践,强烈建议在 Kotlin 中编码时不要使用任何提到的关键字来命名任何标识符。
(a) Kotlin 硬关键字
以下是硬关键字列表,它们不能用作标识符
as | as? | break | class |
continue | do | else | false |
for | fun | if | in |
!in | interface | is | !is |
null | object | package | return |
super | this | throw | true |
try | typealias | typeof | val |
var | when | while |
(b) Kotlin 软关键字
以下是关键字(软)在适用时的列表,并且可以在其他上下文中用作标识符
by | catch | constructor | delegate |
dynamic | field | file | finally |
get | import | init | param |
property | receiver | set | setparam |
value | where |
(c) Kotlin 修饰符关键字
以下是声明修饰符列表中充当关键字的标记列表,并且可以在其他上下文中用作标识符
actual | abstract | annotation | companion |
const | crossinline | data | enum |
expect | external | final | infix |
inline | inner | internal | lateinit |
noinline | open | operator | out |
override | private | protected | public |
reified | sealed | suspend | tailrec |
vararg |
测验时间 (面试 & 考试准备)
Q 2 - 确定以下程序的哪一行会引发错误
var name = "Zara Ali" var age = 19 var class = "6th" var height = 5.3
答案:C
解释
这里第 3 行会引发错误,因为我们使用了硬关键字class来定义变量。
答案:A
解释
根据给定规则,Kotlin 硬关键字不能用于命名标识符。
广告