Notice
Recent Posts
Recent Comments
NeuroWhAI의 잡블로그
[Rust] turbofish - 제너릭 타입 지정 문법 본문
터보피쉬는 물고기의 한 종류 Rust의 문법 중 하나입니다.
C++로 따지면 템플릿 파라미터를 직접 지정하는 것과 비슷하다고 할 수 있습니다.
let num = "42".parse();
위 코드는 컴파일이 안됩니다.
타입 추론에 필요한 정보가 부족하기 때문이죠.
num의 타입을 추론하자니 parse의 반환형이 제너릭 타입이라 알 수 없고
parse의 제너릭 타입을 추론하자니 num의 타입을 모르는 상황이죠.
두 해결 방법이 있는데 그냥 num: i32 이렇게 num의 타입을 지정하는 것과
parse에 turbofish 문법을 사용해서 해결할 수도 있습니다.
let num: i32 = "42".parse();
let num = "42".parse::<i32>(); // turbofish
사실 이 예제는 첫번째 방법이 더 좋아보이긴 하지만 터보피쉬 문법을 써야하는 상황이 생기기도 합니다.
C++ 사용자인 사람의 입장에서 parse<i32>()가 아닌 것이 낯설긴 하지만 "parse의 i32 버전"이라는 의미로 보면 익숙해질 수 있습니다.
실제론 무슨 의미로 저랬는진 모르겠지만요 ㅋㅋ...
'개발 및 공부 > 언어' 카테고리의 다른 글
[Rust] 패턴 매칭 바인딩 모드(Binding Modes) 설명 (0) | 2019.01.20 |
---|---|
[Rust] panic 감지하여 잡기(catch) (0) | 2019.01.13 |
[Rust] macro_use 불필요! (0) | 2018.12.28 |
[Rust] wrapping으로 오버플로/언더플로 에러 피하기 (0) | 2018.12.19 |
[Rust] enum 사용시 주의 사항 (0) | 2018.12.06 |
Comments