@enumFromInt — 정수를 enum 값으로 바꾸기
@enumFromInt — 정수를 enum 값으로 바꾸기
정수를 enum 값으로 변환하던 내장 함수인데요, 지금은 더 명확한 방법이 있어서 이 함수는 Deprecated(폐기 예정) 처리됐어요. 대신 @fromBackingInt나 @bitCast를 쓰는 걸 권장해요.
본문
@enumFromInt(integer: anytype) anytype
이 함수는 정수(integer)를 enum 값으로 변환해 줘요. 반환 타입은 결과가 추론되는 타입, 즉 호출하는 쪽에서 결정되는 타입이에요.
주의할 점이 하나 있어요. enum에 대응하는 값이 없는 정수를 변환하려고 하면 안전 검사(safety check)에 걸리면서 Illegal Behavior가 호출돼요. 다만 예외도 있는데, 비완전 enum(non-exhaustive enum)의 경우 enum의 정수 태그 타입에 있는 모든 정수에 대응하는 값이 존재해요. _ 값이 enum 태그 타입에서 아직 이름이 붙지 않은 나머지 정수 전부를 대표하기 때문이죠.
함께 보기
@intFromEnum— 반대로 enum 값을 정수로 바꾸는 함수예요.
더 알아보기 (Learn more)
@fromBackingInt/@bitCast— 이 함수의 권장 대안