2.1.2 Option 이해하기
러스트에서 Option은 중요하다. Option은 null 값이 반환되지 않도록 명확하게 할 수 있다. Option 열거 타입을 이용하면 제공된 값의 여부를 항상 확인할 수 있고, 제공된 값이 없는 경우에도 이를 처리할 수 있다. 더 좋은 점으로, Option 열거 타입을 사용하면 컴파일러가 모든 경우(Some 또는 None)를 처리한다는 것이다. 또한, 필수적이지 않은 필드를 선언할 수도 있다. 예를 들어 새 질문을 만들 때 tags 필드를 필요에 따라 넣거나 넣지 않을 수 있다.
데이터를 받고 싶을 때 특정 필드를 선택적으로 표시할 수 있는 것은 외부 API로 작업할 때 유용하다. 러스트에서는 타입이 엄격하게 지정되므로 어떤 타입의 필드 값이 있을 거라 예상하고, 그렇지 않다면 컴파일러는 에러를 낸다. 또한, 기본으로 모든 구조체의 필드는 값을 지정하는 것이 필수이다. 따라서 필요하지 않은 필드가 Option<Type>으로 선언되었는지 일일이 확인해야 한다.
러스트 플레이그라운드
러스트를 배울 때 중요한 것 중 하나가 아이디어를 빠르게 테스트하는 도구이다. 러스트 플레이그라운드 웹사이트(https://play.rust-lang.org/)는 작은 프로그램을 빠르게 반복하여 테스트할 수 있도록 러스트 컴파일러와 가장 많이 사용하는 크레이트를 제공한다. 그러니 특정 주제를 진행할 때 굳이 항상 로컬에 러스트 프로젝트를 만들지 않아도 된다.