Default function arguments in Rust

前端 未结 6 460
时光取名叫无心
时光取名叫无心 2020-12-13 05:38

Is it possible in Rust to create a function with a default argument?

fn add(a: int = 1, b: int = 2) { a + b }
6条回答
  •  不思量自难忘°
    2020-12-13 05:47

    If you are using Rust 1.12 or later, you can at least make function arguments easier to use with Option and into():

    fn add>>(a: u32, b: T) -> u32 {
        if let Some(b) = b.into() {
            a + b
        } else {
            a
        }
    }
    
    fn main() {
        assert_eq!(add(3, 4), 7);
        assert_eq!(add(8, None), 8);
    }
    

提交回复
热议问题