Pascal Script 中的全局变量是零初始化的吗?

Are global variables in Pascal Script zero-initialized?

当我在 Inno Setup 脚本的 [Code] 部分(Pascal 脚本)中声明一个全局变量时,它会自动初始化为 zero/empty 值吗?或者我是否必须显式初始化它(例如在 InitializeSetup event function 中)?

var
  GlobalNumber: Integer;

function InitializeSetup(): Boolean;
begin
  { Is this necessary? }
  GlobalNumber := 0;

  Result := True;
end;

根据我的经验,变量是零初始化的。不过,我不确定我是不是运气不好。

我已经完成了 10.000 次测试代码迭代。全局变量(或各种类型,整数,字符串,指针)总是零初始化。

变量在 Pascal Scriptafaik 中自动初始化。

我想我之前也曾在文档的某个地方读过这个,但我在文档中找不到明确的说明。但是,如果您查看 Pascal Script 官方手册中的示例,变量也不总是在那里初始化。例如,在 this page 上的第一个代码中,字符串被添加到 Messages 之前没有对其进行初始化。

全局变量总是零初始化,但局部变量不是这样。

文档中都有解释: https://www.freepascal.org/docs-html/ref/refse24.html