Rust 언어의 match문

프로그래밍 2022. 5. 28. 13:04 Posted by UnHa Kim

Rust의 match문은 C, C++, Go의 switch와 비슷한 기능을 판단/분기를 하는 기능이다.

그런데, 눈에 번쩍 띄는 특징을 발견했다.

 

----------------------------------------------------------------------------------------------

Rust prohibits match expressions that do not cover all possible values:

(Rust언어에서는 모든 가능성을 커버하지 않는 match문은 허용되지 않는다.)
----------------------------------------------------------------------------------------------

 

C, C++, Go언어에서는 switch문에서 default가 강제되지 않아서, 미처 예상하지 못한 예외적인 상황에 대한 대응을 누락할 위험이 상존하지만, Rust언어에서는 그럴 가능성을 원천적으로 봉쇄했다는 의미이다.

 

매매 시스템은 돈을 다루는 프로그램이다 보니 안전성, 정확성이 중요한 데,

판단/분기에서 예외적인 상황을 놓칠까봐 항상 불안감을 안고 살다가,

Rust의 match문을 보니 가슴이 확 트이는 기분이다.

 

사실, Ocaml의 match문에서도 이러한 특징이 있다는 것을 알고 있었고, 그래서, Ocaml을 어떻게 한 번 써볼려고 여러 번 시도했으나, MS-Windows 지원이 너무나 부실하여 번번이 포기했었는 데, Rust언어에서도 이게 된다니..  ㅎㅎ

 

'프로그래밍' 카테고리의 다른 글

한국투자증권 REST API  (0) 2022.07.07
WebAssembly는 이식성 높은 바이트코드였구나.  (0) 2022.06.11
Rust 언어의 match문  (0) 2022.05.28
Go언어 안정성 문제.  (0) 2022.05.27
Go언어 에러처리  (0) 2016.11.02
Go언어 소개  (0) 2014.11.04

댓글을 달아 주세요