前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >01. Kotlin 标识符、关键字和注释

01. Kotlin 标识符、关键字和注释

作者头像
acc8226
发布2023-02-02 15:50:28
3060
发布2023-02-02 15:50:28
举报
文章被收录于专栏:叽叽西叽叽西

标识符

标识符就是变量、常量、函数、属性、类、接口和扩展等由程序员指定的名字。构成标识符的字符均有一定的规范,Kotlin 语言中标识符的命名规则如下:

  • 区分大小写:Myname 与 myname 是两个不同的标识符。
  • 首字符,可以是下划线(_)或字母,但不能是数字。
  • 除首字符外其他字符,可以是下划线(_)、字母和数字。
  • 硬关键字(Hard Keywords)不能作为标识符,软关键字(Soft Keywords)、修饰符关键字(Modifier Keywords)在它们的适用场景之外可以作为标识符使用。
  • 特定标识符 field 和 it。在 Kotlin 语言中有两个由编译器定义的特定标识符,它们只能在特定场景中使用有特定的作用,而在其他的场景中可以做标识符使用。

提示 如果一定要使用关键字作为标识符,可以在关键字前后添加反引号(`)。另外,Kotlin语言中字母采用的是双字节 Unicode 编码。Unicode 叫作统一编码制,它包含了亚洲文字编码,如中文、日文、韩文等字符。

关键字

关键字是类似于标识符的保留字符序列,由语言本身定义好的,Kotlin 语言中有 70 多个关键字,全部是小写英文字母,以及 ! 和 ? 等字符构成。分为 3 个大类:

  1. 硬关键字(Hard Keywords),硬关键字如何情况下都不能作为关键字,具体包括如下关键字。 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、val、var、when和while。
  2. 软关键字(Soft Keywords),软关键字是在它适用场景中不能作为标识符,而其他场景中可以作为标识符,但为例避免误解,一般也不会这么用。具体包括如下关键字。 by、catch、constructor、delegate、dynamic、field、file、finally、get、import、init、param、property、receiver、set、setparam 和 where。
  3. 修饰符关键字(Modifier Keywords),修饰符关键字是一种特殊的软关键字,它们用来修饰函数、类、接口、参数和属性等内容,在此场景中不能作为标识符。而其他场景中可以作为标识符,具体包括如下关键字。 abstract、annotation、companion、const、crossinline、data、enum、external、final、infix、inner、internal、lateinit、noinline、open、operator、out、override、private、protected、public、reified、sealed、suspend、tailrec 和 vararg。

in 和 !in 关键字

判断一个数值是否在区间中可以使用in关键字。而 !in 关键字,则是判断一个值不在区间中。此外,这两个关键字(in和!in)还可以判断一个数值是否集合或数组中。

代码语言:javascript
复制
val score = 50
if (score !in 60..100) { //使用!in关键字
    println("不及格")
}

val strArray = arrayOf("刘", "关", "张")
val name = "赵"
if (name !in strArray) {
    println(name + "不在队伍中")
}

注释

Kotlin 程序有 3 类注释:单行注释(//)、多行注释(/.../)和文档注释(/*.../)。注释方法与 Java 语言都类似。

代码语言:javascript
复制
// This is an end-of-line comment

/* This is a block comment
   on multiple lines. */

Kotlin 中的块注释可以嵌套。

代码语言:javascript
复制
/* The comment starts here
/* contains a nested comment *⁠/
and ends here. */

代码规范

一行代码的长度应尽量不要超过 80 个字符,如果超过则需断行,可以依据下面的一般规范断开:

  • 在一个逗号后面断开。一个运算符前面断开,要选择较高级别的运算符(而非较低级别的运算符)断开。

下面通过一些示例说明:

代码语言:javascript
复制
longName1 = longName2 * (longName3 + longName4 - longName5)
        + 4 * longName6  // ①
longName1 = longName2 * (longName3 + longName4
        - longName5) + 4 * longName6  //②

fun format(obj: Any, toAppendTo: StringBuffer,
                    fieldPosition: FieldPosition): StringBuffer { //③
    ...
}

if ((longName1 == longName2)
         || (longName3 == longName4) && (longName3 > longName4)
         && (longName2 > longName5)) {  //④

}
  1. 上述代码第 ① 行和第 ② 行是带有小括号运算的表示式,其中代码第 ① 行的断开位置要比第 ② 行的断开位置要好。因为代码第①行断开处位于括号表达式的外边,这是个较高级别的断开。
  2. 代码第 ③ 行函数名断开是在参数逗号之后。
  3. 代码第 ④ 行是 if 等判断结构表达式中,由于可能有很多长的条件表达式,断开的位置应在逻辑运算符处。

Coding conventions | Kotlin 代码规范

https://kotlinlang.org/docs/coding-conventions.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 标识符
  • 关键字
    • in 和 !in 关键字
    • 注释
    • 代码规范
      • Coding conventions | Kotlin 代码规范
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档