Rust 4日目 (関数)
関数を作る
fn 関数名(仮引数: 型, ...){...}
のようにする。
引数の型は必ず必要
fn func(x: i32){ println!("{}", x); } fn main(){ func(1); } // 1
戻り値
戻り値がある場合は、fn 関数名() -> 戻り値の型
とする。
fn func() -> i32{ 1 } fn main() { println!("{}", func()); } // 1
戻り値にはセミコロン;
をつけてはならない。
(return
を用いる場合は除く。)
return
fn func(x: i32, y: i32) -> i32{ if x == y { return 1 } 0 } fn main() { println!("{}", func(2, 2)); }
return
を用いることで途中でリターンすることができる。
途中でリターンが必要ない場合は用いない。
発散する関数
fn func() -> ! { panic!(""); } fn main() { func(); }
何のためにあるのかよくわからない。
関数ポインタ
fn func() { println!("Hello, world"); } fn main() { let f = func; f(); }
関数の別名と行ったところだろうか。