// 戻り値がない関数定義の場合、空のタプルと同じになる。 // つまり、以下の2つは同じ fn test1a() { } fn test1b() -> () { } // 戻り値を指定させる方法は2つ // 1. return キーワードとセミコロンをつけて返す // 2. return キーワードを使わずセミコロンなしで返す fn test2a() -> i32 { return 1; } fn test2b() -> i32 { 1 } // なので、例えば戻り値型を指定しない=空のタプルとするのに、 // 以下のようにセミコロンなしで返そうとするとコンパイルエラーになる // fn test3() { // 1 // mismatched types expected `()`, found integerrust/ // } // 以下は () を返しているのでOK fn test4() { () } fn main() { }
『パーフェクト Rust』の「7-1-4」が分かりやすい。