Rust的struct有JS的Object.keys()嗎?如何在Rust中獲取struct字段名稱?
我需要從結構字段名稱中生成CSV標頭(我使用rust-csv)。
struct Export {
first_name: String,
last_name: String,
gender: String,
date_of_birth: String,
address: String
}
//... some code
let mut wrtr = Writer::from_file("/home/me/export.csv").unwrap().delimiter(b'\t');
wrtr.encode(/* WHAT TO WRITE HERE TO GET STRUCT NAMES as tuple of strings or somethings */).is_ok()
如果沒有* rustc *插件(僅適用於夜間),您無法做到這一點。 – mcarton
謝謝@mcarton。我將閱讀[編譯器插件](https://doc.rust-lang.org/book/compiler-plugins.html)。 我真的很喜歡將某些數據保存在一個地方,所以使用字段的名稱可能會很好。我可以搬到夜間,所以任何幫助表示讚賞。 –
不太可能需要您的實際用例的編譯器插件;可以使用'[[derive(RustcDecodable)]'[在資源庫中描述](https://github.com/BurntSushi/rust-csv)。不回答你所問的問題,這是一種通用的方法來列出任何**結構體字段名稱。我的老朋友,[XY問題](http://xyproblem.info/)。 – Shepmaster