【 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")
相关推荐
小新同学^O^9 小时前
简单学习 --> 模型参数
学习·llm·大模型参数
cdbqss19 小时前
VB2026 菜单生成基类 BqGetMenuStrip
数据库·经验分享·学习·oracle·vb
智者知已应修善业10 小时前
【51单片机8位数码管动态显示日期小数点风格】2023-11-13
c++·经验分享·笔记·算法·51单片机
智者知已应修善业10 小时前
【51单片机有三个LED 分别第一个灯闪三下 再到第二个灯又闪三下 再到第三个灯又闪三下 就这样循环程序】2023-11-16
c++·经验分享·笔记·算法·51单片机
暴躁小师兄数据学院10 小时前
【AI大数据工程师特训笔记】第04讲:PostgreSQL 数据库内置函数详解
大数据·数据库·笔记·ai·语言模型
吃好睡好便好11 小时前
创建魔方矩阵和单位矩阵
开发语言·人工智能·学习·线性代数·matlab·矩阵
星夜夏空9911 小时前
STM32单片机学习(21) —— I2C通信
stm32·单片机·学习
z落落13 小时前
C# 数组 最终完整版全套笔记(一维+多维+交错+引用类型+对象数组)
java·笔记·c#
searchforAI13 小时前
B站视频转笔记用哪个工具?2026年四款AI笔记工具对比实测
人工智能·经验分享·笔记·gpt·学习·视频总结·ai笔记
爱上好庆祝14 小时前
学习JS第十一天(JS的进阶)
前端·javascript·学习