초기화되지 않은 변수 선언

초기화되지 않은 변수 선언 (Uninitialized variable declaration)

Crystal은 초기화되지 않은 변수 선언을 허용해요:

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

이건 unsafe한 코드로, 거의 항상 저수준 코드에서 성능 손실 없이 초기화되지 않은 StaticArray 버퍼를 선언할 때 쓰입니다:

buffer = uninitialized UInt8[256]

이 버퍼는 스택에 할당되므로 힙 할당을 피할 수 있어요.

uninitialized 키워드 뒤의 타입 표기는 타입 문법(type grammar)을 따릅니다.

출처: Crystal 공식 문서

더 알아보기 (Learn more)