타입 변환용 내장 함수 `@as`

타입 변환용 내장 함수 @as

Zig에서 어떤 값을 다른 타입으로 바꾸고 싶을 때가 있어요. 그때 대부분은 @as 한 가지로 해결이 됩니다. 이름이 짧아서 처음 보면 무슨 역할인지 감이 안 오실 수 있는데요, 타입 사이를 '~로(as)' 바꾸는 함수라고 보시면 돼요.

출처: Zig Documentation

본문

@asType Coercion을 수행하는 내장 함수예요.

@as(comptime T: type, expression) T

첫 번째 인자 T는 바꾸고 싶은 목표 타입이고, 두 번째 인자 expression이 실제로 변환될 값이에요. 반환 타입은 T가 되죠.

이 변환은 결과가 모호하지 않고 안전할 때만 허용됩니다. 예를 들어 i32 값을 i64로 넓히는 건 언제나 안전해서 막힘없이 되지만, 반대로 큰 값을 작은 타입으로 좁히는 것처럼 오버플로가 생길 수 있는 변환은 허용되지 않아요. 이렇게 안전이 보장되는 경우라면, 타입을 바꿔야 할 일이 생겼을 때 @as가 가장 우선적으로 쓰이는 방법입니다.

더 알아보기