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 else 三元 if/else
= += -= *= /= %= &= |= 作业,最低优先级

字面量

字面量 类型
45 基数为10的整数
0x8F51 基数16(十六进制)整数
3.1458.1e-10 浮点数(实数)
"Hello""Hi" 字符串
"""你好""" 多行字符串
@"Node/Label" 节点路径和字符串名称
$NodePath get_node("NodePath") 的速记

注释

任何从  开始到行尾的内容都会被忽略,并被视为注释。

# This is a comment.

可以在文本块的开头和结尾使用”“”(一行三个引号)创建多行注释。注意,这将创建一个字符串,因此,在编译脚本时它不会被删除。

""" Everything on these
lines is considered
a comment. """
posted @ 2018-12-30 01:50  宸少凌  阅读(935)  评论(0编辑  收藏  举报

万年以来谁著史,三千里外欲封侯