Rust - Exploration von mehreren Bounds

RustRustBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab zeigt der Code das Konzept der multiplen Bounds in Rust, bei dem einem einzelnen Typ mehrere Bounds mit dem +-Operator angewendet werden können.

Hinweis: Wenn das Lab keinen Dateinamen angibt, können Sie einen beliebigen Dateinamen verwenden. Beispielsweise können Sie main.rs verwenden und es mit rustc main.rs &&./main kompilieren und ausführen.

Mehrere Bounds

Für einen einzelnen Typ können mehrere Bounds mit einem + angewendet werden. Wie üblich werden verschiedene Typen mit , getrennt.

use std::fmt::{Debug, Display};

fn compare_prints<T: Debug + Display>(t: &T) {
    println!("Debug: `{:?}`", t);
    println!("Display: `{}`", t);
}

fn compare_types<T: Debug, U: Debug>(t: &T, u: &U) {
    println!("t: `{:?}`", t);
    println!("u: `{:?}`", u);
}

fn main() {
    let string = "words";
    let array = [1, 2, 3];
    let vec = vec![1, 2, 3];

    compare_prints(&string);
    //compare_prints(&array);
    // TODO ^ Versuchen Sie, diese Zeile zu entsperren.

    compare_types(&array, &vec);
}

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab zu Mehreren Bounds abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.