Lobsters | 原文链接 | 2026-09-16 收录

GDScript 的好、坏与丑:从 TypeScript 移植过来后的实感

来源: azhdarchid.com — 2026-09-13

概述

作者把同一套系统先用 TypeScript 实现、再移植到 GDScript 跑在 Godot 上,因此对这门语言有了整体判断。好的一面是它为游戏逻辑而生:原生 Vector2 与 Vector3、区分整数与浮点、标准库自带好用的 PRNG、专门的 match 语句、与引擎高度耦合的注解系统与 preload,而且没有垃圾回收,改用引用计数加手动管理场景树生命周期,避免了 GC 带来的帧抖动。坏的一面是增量类型系统半成品:map() 永远返回无类型数组,函数只是没有类型信息的 Callable,没有联合类型与判别联合,泛型嵌套无从表达;他的建议是大多数情况下别用带类型的集合。丑的部分集中在缩进语法带来的摩擦:多行回调难写、没有解构赋值与展开运算符、缺少不可变对象的语言构造,数组连 flatmap 都没有。

核心要点

金句

我建议大多数场景下不要用带类型的集合,因为这个特性整体上还相当不成熟。
返回 Lobsters 首页