4.1.1 모의 데이터베이스 설정하기
보통 인메모리 저장소를 만들려면 객체 배열을 만들어서 store라는 변수에 할당하는 방식을 쓴다. 질문뿐만 아니라 사용자, 답변 등을 저장하는 더 복잡한 저장소 구조도 같은 방식으로 만들 수 있다. 배열 대신 해시 맵을 이용하면 ID로 질문에 직접 접근할 수 있어 특정한 질문을 찾을 때마다 모든 질문 목록을 순차적으로 찾아보지 않아도 된다.
코드 4-2 질문에 대한 로컬 저장소를 만들기
use std::collections::HashMap;
...
struct Store {
questions: HashMap<QuestionId, Question>,
}
...
러스트 문서에는 HashMap에서 호출할 수 있는 메서드가 잘 정리되어 있다. 예를 들어 insert를 사용하면 맵에 새로운 항목을 추가할 수 있다. 그러므로 다음 세 가지 메서드로 저장소를 구현해 보자.