@typeName — 타입의 문자열 이름 얻기
@typeName — 타입의 문자열 이름 얻기
타입 하나를 넘기면 그 타입을 나타내는 이름을 문자열 배열로 돌려주는 내장 함수예요. 타입 이름을 로그로 찍거나, 런타임에 타입 정보를 비교하고 싶을 때 써요.
본문
여러분이 쓴 타입의 이름을 문자열로 표현해서 돌려주는 함수예요. 반환 타입은 이름을 담은 배열이에요.
@typeName(T: type) *const [N:0]u8
이 함수는 타입의 문자열 표현을 배열 형태로 돌려줘요. 마치 그 타입 이름을 나타내는 문자열 리터럴과 같다고 보면 돼요.
돌려받는 타입 이름은 완전히 한정된(fully qualified) 형태예요. 즉 상위 네임스페이스가 마침표(.)로 이어진 채 타입 이름의 일부로 함께 포함돼 있어요. 예를 들어 std.fs.File 같은 타입이라면 네임스페이스 경로까지 통째로 담긴 이름이 나오는 거죠.
왜 이렇게 하느냐면, 서로 다른 네임스페이스에 같은 이름의 타입이 존재해도 문자열 이름만으로 정확히 구분할 수 있게 하기 위해서예요.
더 알아보기
@Type— 문자열이 아니라 타입 정보를 reflect로 다룰 때@typeInfo— 타입의 구조를 컴파일 타임에 자세히 조사할 때