@typeName — 타입의 문자열 이름 얻기

@typeName — 타입의 문자열 이름 얻기

타입 하나를 넘기면 그 타입의 이름을 문자열 배열로 돌려주는 내장 함수예요. 디버깅 로그에 타입 이름을 찍거나, 컴파일 타임에 "이게 정확히 어떤 타입이지?"를 이름으로 확인하고 싶을 때 써요.

출처: Zig Documentation

본문

@typeName은 타입의 문자열 표현을 배열로 돌려줘요. 마치 그 타입 이름을 그대로 써넣은 문자열 리터럴과 같다고 보면 돼요.

@typeName(T: type) *const [N:0]u8

돌려받는 타입 이름은 완전히 한정된(fully qualified) 형태예요. 즉 부모 네임스페이스가 마침표(.)로 이어진 채 타입 이름의 일부로 함께 포함돼요. 예를 들어 std.fs.File 같은 타입이라면, 네임스페이스 경로까지 통째로 담긴 이름이 나오는 거예요.

이렇게 하는 이유는, 서로 다른 네임스페이스 안에 같은 이름의 타입이 존재하더라도 문자열 이름만으로 정확히 구분되게 하기 위해서예요.

더 알아보기 (Learn more)

  • @typeInfo — 타입의 구조를 컴파일 타임에 자세히 조사하는 타입 반영 함수
  • @TypeOf — 표현식의 타입을 알아내는 내장 함수