定义泛型trait,对不同的struct,进行不同的处理。traitParseT{fnparse(pdata:T)OptionSelfwhereSelf:S}〔derive(Debug)〕structA{d:i32,}implParsei32forA{fnparse(pdata:i32)OptionSelf{todo添加处理逻辑Some(Self{d:pdata,})}}〔derive(Debug)〕structB{d:String,}implParseStringforB{fnparse(pdata:String)OptionSelf{todo添加处理逻辑Some(Self{d:pdata,})}}〔derive(Debug)〕structC{d:Vecu8}implParseVecu8forC{fnparse(pdata:Vecu8)OptionSelf{todo添加处理逻辑Some(Self{d:pdata,})}}fnmain(){println!(aparse:{:?},A::parse(10)。unwrap());println!(bparse:{:?},B::parse(HelloWorld。tostring())。unwrap());println!(cparse:{:?},C::parse(〔1,2,3,4〕。tovec())。unwrap());}