1
我在學習Rust並學習了特質界的章節。在該章中,他們以+
(加號)運算符爲例列舉了where
子句中所有必需的特徵。Rust中where子句的特徵可能有哪些操作符?
什麼其他運營商被允許在Rust的特質?我搜索了,但我無法找到任何關於此的文檔。 Rust是否支持'或'符號,括號,否定?
我在學習Rust並學習了特質界的章節。在該章中,他們以+
(加號)運算符爲例列舉了where
子句中所有必需的特徵。Rust中where子句的特徵可能有哪些操作符?
什麼其他運營商被允許在Rust的特質?我搜索了,但我無法找到任何關於此的文檔。 Rust是否支持'或'符號,括號,否定?
「或」符號
號這樣的事情沒有意義,我 - 會是什麼做的代碼,如果事情可能是A
或B
?
括號
不,除非你在Fn(...)
和朋友,利用尖括號的泛型(Vec<T>
)或切片用方括號([u8]
)括號,但這些都是部分類型。
同樣,這樣的請求對我來說沒有意義,爲什麼你需要任何類型的分組?
否定
號我認爲,這是由於在處理負邏輯使事情變得更復雜了。
其他運營商
There's the ?
(question mark) bound。我寫過a parser of Rust code。雖然有可能我錯過了一些東西,但它解析了我拋出的所有〜37500 Rust文件,所以它非常適合。
比你。我認爲,如果Rust支持可選特徵,則可以將'or'運算符創建爲?Trait1 +?Trait2。或不? –
@GeorgeShuklin Rust不**支持可選特徵。 '?'(問號)只適用於特定特徵'Sized'。對於人體工程學,每個泛型類型都有一個隱式的'T:Sized'綁定*,除非*您使用'Sized'移除該缺省綁定。 – Shepmaster