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(())
}