Chap.6 enums and match
· 35 min read
이번 장에서는 열거(enumerations) 에 대해 살펴볼 것입니다. 열거형(enums) 이라고도 합니다.
열거형은 하나의 타입 이 가질 수 있는 variant들을 열거함으로써 타입을 정의할 수 있도록 합니다.
- 우선, 하나의 열거형을 정의하고 사용해 봄으로써, 어떻게 열거형에 의미와 함께 데이터를 담을 수 있는지 보여줄 것입니다.
- 다음으로,
Option
이라고 하는 특히 유용한 열거형을 자세히 볼 텐데, 이것은 어떤 값을 가질 수도 있고, 갖지 않을 수도 있습니다. - 그 다음으로, 열거형의 값에 따라 쉽게 다른 코드를 실행하기 위해
match
표현식에서 패턴 매칭을 사용하는 방법을 볼 것입니다. - 마지막으로, 코드에서 열거형을 편하고 간결하게 다루기 위한 관용 표현인
if let
구문을 다룰 것입니다.
열거형은 다른 언어들에서도 볼 수 있는 특징이지만, 열거형으로 할 수 있는 것들은 언어마다 다릅니다. p 러스트의 열거형은 F#, OCaml, Haskell 과 같은 함수형 언어의 대수 데이터 타입과 가장 비슷합니다.
6.1 열거형 정의하기
IP 주소를 다루는 프로그램을 만들어 보면서, 어떤 상황에서 열거형이 구조체보다 유용하고 적절한지 알아보겠습니다.
- 현재 사용되는 IP 주소 표준은 IPv4, IPv6 두 종류입니다(앞으로 v4, v6 로 표기하겠습니다).
- 즉, 우리가 만들 프로그램에서 다룰 IP 종류 역시 v4, v6 가 전부입니다.
- 이번엔 단 두 가지뿐이긴 하지만,