typestar

Default en Rust

Un valor vacío canónico, más la sintaxis de actualización de struct para cambiar un campo.

#[derive(Debug)]
struct Settings {
    theme: String,
    editor_mode: bool,
    time_limit: u32,
}

impl Default for Settings {
    fn default() -> Self {
        Settings {
            theme: "default".to_string(),
            editor_mode: false,
            time_limit: 60,
        }
    }
}

fn main() {
    println!("{:?}", Settings::default());

    let mine = Settings {
        theme: "monokai".to_string(),
        ..Default::default()
    };
    println!("{:?}", mine);
}

Cómo funciona

  1. #[derive(Default)] usa el valor por defecto de cada campo.
  2. Un impl a mano fija los valores que de verdad quieres.
  3. ..Default::default() completa el resto de un literal.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
26
Caracteres a escribir
377
Tokens
105
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 60 segundos.

Escribe este fragmento

Paso 3 de 4 en Traits estándar; paso 10 de 19 en Traits y genéricos.

← Anterior Siguiente →