1. 程式人生 > >4.GDscript(2)關鍵字,運算子,字面量

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. """