一、定义
对各种变量、方法、函数等命名时使用的字符序列称为标识符。即:凡是自己可以起名字的地方都叫标识符。
二、规则说明:
Scala
中的标识符声明,
基本和
Java
是一致的
,但是细节上会有所变化,有以下三种规则:
(1)以字母或者下划线开头,后接字母、数字、下划线
(2
)以操作符开头,且只包含操作符(
+ - * / # !等)
(3
)用反引号
`....`
包括的任意字符串,即使是
Scala
关键字(
39
个)也可以
• package, import, class,
object
,
trait
, extends,
with
, type, for
• private, protected, abstract,
sealed
, final,
implicit
, lazy, override
• try, catch, finally, throw
• if, else,
match
, case, do, while, for, return,
yield
• def, val, var
• this, super
• new
• true, false, null
三、示例
需求:判断 hello
、
Hello12
、
1hello
、
h-b
、
x h
、
h_4
、
_ab
、
Int
、
_
、
+*-/#!
、
+*-/#!1
、
if
、 `if`,这些名字是否合法。
def main(args: Array[String]): Unit = {
//
(
1
)以字母或者下划线开头,后接字母、数字、下划线
var hello: String = "" // ok
var Hello12: String = "" // ok
var 1hello: String = "" //
error
数字不能开头
var h-b: String = "" //
error
不能用
-
var x h: String = "" //
error
不能有空格
var h_4: String = "" // ok
var _ab: String = "" // ok
var Int: String = "" // ok
因为在
Scala
中
Int
是预定义的字符
, 不是关键字,但不推荐
var _: String = "hello" // ok
单独一个下划线不可以作为标识符,因为_
被认为是一个方法
println(_)
//
(
2
)以操作符开头,且只包含操作符(
+ - * / # !
等)
var +*-/#! : String = "" // ok
var +*-/#!1 : String = "" //
error
以操作符开头,必须都是操作
尚硅谷大数据技术之 Scala
//
(
3
)用反引号
`....`
包括的任意字符串,即使是
Scala
关键字(
39
个) 也可以
var if : String = "" //
error
不能用关键字
var `if` : String = "" // ok
用反引号
`....`
包括的任意字符串
, 包括关键字
}