04-标识符和关键字
在仓颉语言中,我们用到自定义的变量、函数、类等元素的名称,都必须用到标识符。我们可以也将刚才的变量、函数、类等看成是我们
可以在仓颉的这个世界中,自己给一些小朋友的名称。既然是要起名字,那么就有一些范围和一些限制。举个例子:我们不会给一个小孩
起这样的名字:卖75块钱眉笔的那个人。这样的名称不合法也不合理
标识符分类两类
- 普通标识符
- 原始标识符
普通标识符
普通标识符的命名规则有如下两种
- 两个组成部分【AB】,【A】部分表示英文字母开头,【B】可以是英文字母、数字、和下划线
- 三个组成部分【ABC】,【A】部分是一个或者多个下划线,【B】部分是英文字母,【C】部分可以是英文、数字、和下划线
正例
c++
package project1 // 标记当前项目的名称
main() {
let abc = "小万1"
let abc123 = "小万"
let _abc = "小万"
let __ = "小万" // 两个下划线
let _abc123 = "小万"
}
反例
c++
let 123="小万"
let *123="小万"
let )123="小万"
let +123="小万"
let _="小万"// 1个下划线 可以声明,但是在打印它时,会提示错误
原始标识符
原始标识符在实际开发中有的场景不多,主要用在仓颉关键字作为标识符的场景。
可以理解为是让你可以定义一些特殊或者奇葩的名字。
原始标识符是在普通标识符或仓颉关键字的外面加上一对反引号
如
`abc`
`if`
`else`
正例
c++
package project1 // 标记当前项目的名称
// 结构体 if 作为奇葩的名字
struct `if` {
let name = "小万"
}
main() {
let a: `if` = `if`()
println(a.name)
println()
}
关键字
在仓颉语言中,它把一些名字作为的了仓颉的关键字或者保留字,意思是有特殊的用意,不能给我们开发者当成普通的标识符来使用。
如 let
let let = "小万" // 此时 let 就是错误的使用方式 因为let 是关键字
关键字一览
关键字 | 关键字 | 关键字 |
---|---|---|
as | abstract | break |
Bool | case | catch |
class | const | continue |
Rune | do | else |
enum | extend | for |
func | false | finally |
foreign | Float16 | Float32 |
Float64 | if | in |
is | init | import |
interface | Int8 | Int16 |
Int32 | Int64 | IntNative |
let | mut | main |
macro | match | Nothing |
open | operator | override |
prop | public | package |
private | protected | quote |
redef | return | spawn |
super | static | struct |
synchronized | try | this |
true | type | throw |
This | unsafe | Unit |
UInt8 | UInt16 | UInt32 |
UInt64 | UIntNative | var |
VArray | where | while |
总结
标识符的作用就是在告诉我们 怎么起名字是合理,大家按照正常起名字的意思来对待即可。