跳到內容

未初始化的變數宣告

Crystal 允許宣告未初始化的變數

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

這是不安全的程式碼,幾乎總是會在底層程式碼中使用,用於宣告未初始化的StaticArray緩衝區,而不會產生效能損失

buffer = uninitialized UInt8[256]

緩衝區會在堆疊上分配,避免了堆積分配。

uninitialized 關鍵字之後的型別遵循型別文法