impl fmt::Display for List {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let vec = &self.0;
write!(f, "[")?;
// ...
튜토리얼 보는중... 물음표 연산자(? operator)가 보였는데 unwrap이랑 무슨 차이인가 싶어 찾아봤다
요약하면 다른건 동일하지만 에러인 경우 물음표 연산자는 Err가 반환(Result 또는 Option에만 사용 가능), unwrap은 panic!이 된다.
unwrap을 쓰더라도 main에 한정해서 써야하며, 그것도 웬만하면 .expect("...")로 쓰는게 유용하다는 의견이 있었다
참고
- https://www.reddit.com/r/rust/comments/6astgn/what_are_the_rules_for_where_you_can_use_versus/
- https://doc.rust-lang.org/reference/expressions/operator-expr.html#the-question-mark-operator
반응형
'프로그래밍 > Rust' 카테고리의 다른 글
[Rust] rustup, cargo shell completion 추가하기 (0) | 2024.04.06 |
---|---|
Rust 상수와 immutable 변수의 차이점 (0) | 2020.07.01 |
Rust 예제: Guessing Game (0) | 2020.06.30 |