Boolean flags often switch a command between quiet and detailed output.

Program

Play the program to choose the verbose flag and see the selected output mode.

flag_mode.rs
fn main() {
    let verbose = ;
    let format = "json";
    let mode = output_mode(verbose, format);
    println!("{mode}");
}

fn output_mode(verbose: bool, format: &str) -> String {
    if verbose {
        format!("{format}:verbose")
    } else {
        format!("{format}:quiet")
    }
}
fn main() {
    let verbose = ;
    let format = "json";
    let mode = output_mode(verbose, format);
    println!("{mode}");
}

fn output_mode(verbose: bool, format: &str) -> String {
    if verbose {
        format!("{format}:verbose")
    } else {
        format!("{format}:quiet")
    }
}
flag `verbose` models a command-line flag such as `--verbose`.
branch The helper chooses one behavior for `true` and another for `false`.
formatting `format!` builds the final mode label from configuration values.