Functions

#[allow(unused_macros)]
macro_rules! say_goodby {
    ($a: expr) => {
        say_goodby($a);
    };        
    () => {
        say_goodby("Goodby!");
    };
}

say_goodby!();
//prints "Goodby!"

say_goodby!("see you");
//prints "see you"

fn say_goodby(message: &str) {
    println!("{}", message);
}