美文网首页js css html
01. Kotlin 标识符、关键字和注释

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

作者: acc8226 | 来源:发表于2023-01-18 19:30 被阅读0次

    标识符

    标识符就是变量、常量、函数、属性、类、接口和扩展等由程序员指定的名字。构成标识符的字符均有一定的规范,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)还可以判断一个数值是否集合或数组中。

    val score = 50
    if (score !in 60..100) { //使用!in关键字
        println("不及格")
    }
    
    val strArray = arrayOf("刘", "关", "张")
    val name = "赵"
    if (name !in strArray) {
        println(name + "不在队伍中")
    }
    

    注释

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

    // This is an end-of-line comment
    
    /* This is a block comment
       on multiple lines. */
    

    Kotlin 中的块注释可以嵌套。

    /* The comment starts here
    /* contains a nested comment *⁠/
    and ends here. */
    

    代码规范

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

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

    下面通过一些示例说明:

    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

    相关文章

      网友评论

        本文标题:01. Kotlin 标识符、关键字和注释

        本文链接:https://www.haomeiwen.com/subject/igqxhdtx.html