屬性是應用於某些模塊、crate或者項的元數據。這些元數據可以有以下用途:
- 條件編譯代碼
- 設置crate名稱、版本和類型
- 禁用lint警告
- 啟用編譯器的特性(如宏、全局導入等)
- 連接到一個非Rust語言的庫
- 標記函數作為單元測試
- 標記函數作為基準測試的某個部分
作用於整個crate時,語法為#![crate_attribute] (注意:有感嘆號!)
作用於模塊或者項時,語法為#[item_attribute] (注意:無感嘆號)
屬性可以接收參數,其語法形式如下:
- #[attribute = "value"]
- #[attribute(key = "value")]
- #[attribute(value)]
- #[attribute(value1, value2, value3, value4, value5)]
閱讀更多 令狐一衝a 的文章