跳至内容

未初始化变量声明

Crystal 允许声明未初始化变量

x = uninitialized Int32
x # => some random value, garbage, unreliable

这是 不安全 代码,几乎总是用于低级代码,用于声明未初始化的 StaticArray 缓冲区,而不会产生性能损失

buffer = uninitialized UInt8[256]

缓冲区是在堆栈上分配的,避免了堆分配。

uninitialized 关键字后的类型遵循 类型语法