Comprehensive Rust(繁体中文) 202406有些概念比模式本身所允許的更加複雜,如果我們希望簡要地表達這些想法,就必須把配對守衛視 為獨立的語法功能。 • 這與配對分支內的個別 if 運算式不同。分支區塊中的 if 運算式 (位於 => 之後) 會在選取配對分 支後發生。即使該區塊內的 if 條件失敗,系統也不會考量原始 match 運算式的其他分支。 • 只要運算式隸屬於具備 | 的模式之中,就會套用守衛定義的條件。 12.2 解構列舉 就像元組,結構體和列舉也可透過配對來解構: happened: {msg}"), } } 這裡我們利用分支來「解構」Result 值。在第一個分支中,half 會與 Ok 變體中的值綁定。在第二個分 支中,msg 會綁定至錯誤訊息。 結構體 • 請變更 foo 中的常值,與其他模式配對。 • 在 Foo 中新增一個欄位,並視需要變更模式。 • 捕獲和常數運算式之間的區別可能不容易發現。請嘗試將第二個分支的 2 變更為變數,您會發現它 幾乎無法運作。現在將其變更為 09-08 08:38:32.454 2420 2420 E rust: hello_rust_logs: Something went wrong! 204 第 37 部分 互通性 Rust 能充分支援與其他程式語言互通。也就是說,您可以: • 透過其他語言呼叫 Rust 函式。 • 透過 Rust 呼叫以其他語言編寫的函式。 當您以其他語言呼叫函式時,我們稱之為使用「外部函式介面」,亦稱 FFI0 码力 | 356 页 | 1.41 MB | 1 年前3
共 1 条
- 1













