當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust todo用法及代碼示例


本文簡要介紹rust語言中 Macro std::todo 的用法。

用法

macro_rules! todo {
    () => { ... };
    ($($arg : tt) +) => { ... };
}

表示未完成的代碼。

如果您正在製作原型並且隻是希望對代碼進行類型檢查,這可能會很有用。

unimplemented! todo! 之間的區別在於,雖然 todo! 傳達了稍後實現函數的意圖並且消息是 “not yet implemented”,但 unimplemented! 沒有這樣的聲明。它的消息是“not implemented”。還有一些 IDE 會標記 todo!

Panics

這將始終 panic!

例子

這是一些in-progress 代碼的示例。我們有一個特征 Foo

trait Foo {
    fn bar(&self);
    fn baz(&self);
}

我們想在我們的一種類型上實現Foo,但我們也想首先處理bar()。為了讓我們的代碼能夠編譯,我們需要實現 baz() ,所以我們可以使用 todo!

struct MyStruct;

impl Foo for MyStruct {
    fn bar(&self) {
        // implementation goes here
    }

    fn baz(&self) {
        // let's not worry about implementing baz() for now
        todo!();
    }
}

fn main() {
    let s = MyStruct;
    s.bar();

    // we aren't even using baz(), so this is fine.
}

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Macro std::todo。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。