【 Godot 4 学习笔记】运算符

在 GDScript 中,运算符是用于执行变量或值之间运算的符号。GDScript 的运算符设计非常直观,融合了 Python 的易读性和 C++ 的高效性。

以下是 GDScript 中主要运算符的详细分类和说明:

🧮 算术运算符

用于执行基本的数学运算。

运算符 描述 示例 结果
+ 加法 / 字符串或数组拼接 5 + 2 / "A" + "B" 7 / "AB"
- 减法 5 - 2 3
* 乘法 5 * 2 10
/ 除法 5 / 2 2 (注意:整数除法会截断小数)
% 取模 (取余) 5 % 2 1 (仅适用于整数)
** 幂运算 2 ** 3 8 (即 2 的 3 次方)

⚠️ 特别注意:

  1. 整数除法: 如果 / 两边的操作数都是整数(如 5 / 2),结果会是整数 2 而不是 2.5。如果需要浮点数结果,请确保至少有一个操作数是浮点数(如 5.0 / 25 / 2.0)。
  2. 浮点数取模: % 运算符仅适用于整数。如果你需要对浮点数取余,请使用 fmod(a, b) 函数。
  3. 幂运算结合性: ** 是左结合的,即 2 ** 2 ** 3 等同于 (2 ** 2) ** 3

⚖️ 比较运算符

用于比较两个值,返回 truefalse

运算符 描述 示例
== 等于 x == y
!= 不等于 x != y
> 大于 x > y
< 小于 x < y
>= 大于等于 x >= y
<= 小于等于 x <= y

💡 提示: 在比较浮点数时,由于精度问题,直接使用 == 可能会有风险。建议使用 is_equal_approx(a, b) 函数来比较浮点数是否近似相等。

🔀 逻辑运算符

用于组合或反转布尔值。GDScript 同时支持 Python 风格和 C/JavaScript 风格的逻辑运算符,但官方推荐使用 Python 风格以提高可读性。

运算符 描述 示例
and / && 逻辑与 true and false (结果为 false)
or / ` `
not / ! 逻辑非 not true (结果为 false)

🔢 位运算符

用于对整数进行二进制位的操作。

运算符 描述
& 按位与
` `
^ 按位异或
~ 按位取反
<< 左移
>> 右移

📝 赋值运算符

用于给变量赋值。

运算符 描述 示例 等同于
= 赋值 x = 5 -
+= 加后赋值 x += 2 x = x + 2
-= 减后赋值 x -= 2 x = x - 2
*= 乘后赋值 x *= 2 x = x * 2
/= 除后赋值 x /= 2 x = x / 2
%= 取模后赋值 x %= 2 x = x % 2

注意: GDScript 不支持 ++ (自增) 和 -- (自减) 运算符。请使用 x += 1x -= 1 代替。

🎯 其他运算符

运算符 描述 示例
in 成员测试,检查某物是否包含在数组或字符串中 "a" in ["a", "b"] (结果为 true)
is 类型检查,检查对象是否是某个类的实例 node is Sprite2D
? : 三元运算符 var result = "yes" if condition else "no"
$ 节点路径简写 $Sprite2D 等同于 get_node("Sprite2D")
相关推荐
Hammer_Hans2 小时前
DFT笔记42
笔记
艾莉丝努力练剑2 小时前
【Linux加餐】mmap文件映射
linux·运维·服务器·c语言·c++·学习
叶子野格2 小时前
《C语言学习:编程例题》8
c语言·开发语言·c++·学习·算法·visual studio
returnthem2 小时前
运维笔记:Shell 脚本入门到实践
运维·笔记
迷你可可小生2 小时前
面经学习(二)
学习·算法
XS0301062 小时前
agent笔记(二)Langchain关键对象
人工智能·笔记·langchain
夜瞬2 小时前
NLP学习笔记05:命名实体识别(NER)入门——从规则方法到 BERT
笔记·学习·自然语言处理
The Chosen One9852 小时前
【实物图讲解】硬盘的工作原理笔记
笔记
遗憾随她而去.3 小时前
react学习(一)
javascript·学习·react.js