Result<(), E>
()
てなんやねんと思ったので調べる
ユニット型
Rustのプリミティブ型の中にユニット型(unit type)というのがある
Result<(), E
の()
の正体はこいつ
ユニット型
()型は暗黙的に使われることが多く、
->
のない関数は暗黙的に()
を返す
unit - Rustより筆者意訳
戻り値をResult
型にするとき、エラーが発生した場合は何らかの値を返したいが、成功した際には、成功したことだけが分かればよい時を考える。
そういった場合に、Result<(), E>
を戻り値にしたくなる
main関数
などでよく見る
以下がコードの例である
fn do_something() -> Result<(), String> {
if some_err {
return Err("問題発生".to_string());
}
Ok(())
}