4.GDscript(2)关键字,运算符,字面量
(来源godot官方文档)
关键词
下面是该语言支持的关键字列表。由于关键字是保留字(令牌),它们不能用作标识符。操作符(如 in , not , and 或 or )以及下面列出的内置类型的名称也是保留的。
关键字定义在 GDScript tokenizer 中,以防您想了解其中的内幕。
| 关键字 | 描述 |
|---|---|
| if | 见 if/else/elif. |
| elif | 见 if/else/elif. |
| else | 见 if/else/elif. |
| for | 见 for. |
| do | 预留作日后实施do…while循环。 |
| while | 见 while. |
| match | 见 match. |
| switch | 保留以备将来使用。 |
| case | 保留以备将来使用。 |
| break | 退出当前“for”或“while”循环的执行。 |
| continue | 立即跳到“for”或“while”循环的下一个迭代。 |
| pass | 在语法上要求语句但不希望执行代码的地方使用,例如在空函数中。 |
| return | 从函数返回一个值。 |
| class | 定义一个类。 |
| extends | 定义用当前类扩展什么类。 |
| is | 测试变量是扩展给定的类,还是具有给定的内置类型。 |
| as | 如果可能,将值转换为给定类型。 |
| self | 引用当前类实例。 |
| tool | 在编辑器中执行脚本。 |
| signal | 定义一个信号。 |
| func | 定义一个函数。 |
| static | 定义一个静态函数。静态成员变量是不允许的。 |
| const | 定义一个常量。 |
| enum | 定义一个枚举。 |
| var | 定义一个变量。 |
| onready | 在脚本所附加的节点及其子节点成为场景树的一部分后初始化变量。 |
| export | 保存一个变量及其附加的资源,并使其在编辑器中可见和可修改。 |
| setget | 为变量定义setter和getter函数。 |
| breakpoint | 调试器断点的编辑器助手。 |
| preload | 预加载类或变量。请参见 Classes as resources. |
| yield | 协同程序支持。参见 Coroutines with yield. |
| assert | 声明一个条件,在失败时记录错误。在非调试构建中被忽略。参见 Assert keyword. |
| remote | 网络RPC注释。参见 high-level multiplayer docs. |
| master | 网络RPC注释。参见 high-level multiplayer docs. |
| puppet | 网络RPC注释。参见 high-level multiplayer docs. |
| remotesync | 网络RPC注释。参见 high-level multiplayer docs. |
| mastersync | 网络RPC注释。参见 high-level multiplayer docs. |
| puppetsync | 网络RPC注释。参见 high-level multiplayer docs. |
| PI | 圆周率常量。 |
| TAU | TAU 常量。 |
| INF | 无穷大常数。用于比较。 |
| NAN | NAN(不是一个数字)常数。用于比较。 |
运算符
下面是支持运算符的列表及其优先级。
| 运算符 | 描述 |
x[index] |
索引,最高优先级 |
x.attribute |
属性引用 |
is |
实例类型检查器 |
~ |
按位取反 |
-x |
负/一元否定 |
* / % |
乘法/除法/余数 这些操作符具有与c++相同的行为。整数除法被截断,而不是返回一个小数,%运算符只对整数可用(浮点数用“fmod”) |
+ |
加法/数组的串联 |
- |
Subtraction |
<< >> |
位移位 |
& |
按位与 |
^ |
按位异或 |
| |
按位或 |
< > == != >= <= |
比较 |
in |
内容测试 |
! not |
布尔NOT |
and && |
布尔AND |
or || |
布尔OR |
if x else |
三元 if/else |
= += -= *= /= %= &= |= |
作业,最低优先级 |
字面量
| 字面量 | 类型 |
45 |
基数为10的整数 |
0x8F51 |
基数16(十六进制)整数 |
3.14, 58.1e-10 |
浮点数(实数) |
"Hello", "Hi" |
字符串 |
"""你好""" |
多行字符串 |
@"Node/Label" |
节点路径和字符串名称 |
$NodePath |
get_node("NodePath") 的速记 |
笔者:宸少凌

浙公网安备 33010602011771号
注释
任何从
#开始到行尾的内容都会被忽略,并被视为注释。# This is a comment.可以在文本块的开头和结尾使用”“”(一行三个引号)创建多行注释。注意,这将创建一个字符串,因此,在编译脚本时它不会被删除。