编程语言 · 2023年 10月 11日 0

关键字

40 次浏览

一般而言,关键字可以看成特殊的标识符,它被编译器或解释器御用。不同编程语言都有自己的关键字,为控制代码流程或标识类型。例如C语言的int, for, goto等都是关键字。

关键字和保留字的概念一样吗?

  • “保留字”(Reserved Words)和"关键字"(Keywords)在不少编程语言中可能混用,事实上,它们是有差异的。所有关键字都是保留字,但不是所有保留字都是关键字。保留字的概念更广泛,它包括关键字以及那些被保留但当前未使用的单词,未来也许会使用且不能被程序员当成标识符。
  • Java的const是一个保留字,而不是关键字。因为const不是Java编译器在用的关键字,用final声明常量,const只是预留给未来的编译器。
    const int a = 12; // 编译错误:非法的表达式开始

上下文关键字

有的编程语言为了尽可能对之前代码兼容,语言语法有需要时,并不是暴力增加新的关键字,而是增加上下文关键字。

  • C# 自1.0版本发布后,之后的版本就没有增加新的关键字,而是增加了特定场景才有的上下文关键字。例如select, where, let等。

关键字可以是标识符?

部分编程语言支持用关键字当做标识符,但前提可能需要增加额外的“标志“,例如Swift用反引号。

内置函数和关键字

程序员很容易将二者混淆,认为内置函数也是关键字。事实上,内置函数只不过是编程语言自身自带的"标识符".

  • Python 内置函数是可以被用户覆盖的,例如可以定义变量min, 从而覆盖内置min函数功能。