4.GDscript(2)關鍵字,運算子,字面量
阿新 • • 發佈:2018-12-30
(來源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") 的速記 |
註釋
任何從 #
開始到行尾的內容都會被忽略,並被視為註釋。
# This is a comment.
可以在文字塊的開頭和結尾使用”“”(一行三個引號)建立多行註釋。注意,這將建立一個字串,因此,在編譯指令碼時它不會被刪除。
""" Everything on these
lines is considered
a comment. """