코드 4-18 매개변수에 값이 들어 있는지 패턴 검사하기
...
async fn get_questions(
params: HashMap<String, String>,
store: Store
) -> Result<impl warp::Reply, warp::Rejection> {
match params.get("start") {
Some(start) => println!("{}", start),
None => println!("No start value"),
}
println!("{:?}", params);
...
}
...
패턴 검사의 결과가 None이라면 콘솔에 No start value를 출력한다. 잘 살펴보면 None 관련 부분을 완전히 없애고, 해시 맵에 start라는 매개변수가 있을 때만 무언가를 하면 된다. 러스트에는 이런 경우 다음처럼 match 표현식의 가지(arm)로 더 짧은 형식을 쓸 수 있다.