当前位置: 首页 > Web前端 > JavaScript

Rust编程语言中的定义类型

时间:2023-03-26 21:40:55 JavaScript

澶у濂斤紝鎴戞槸鈥滃皬鏂板墠绔悓瀛︹€濓紝馃槆闀挎湡浠庝簨鍓嶇寮€鍙戯紝Android寮€鍙戯紝鐑埍鎶€鏈€傚湪缂栫▼鐨勯亾璺笂瓒婅蛋瓒婅繙~Rust涓嚜瀹氫箟绫诲瀷鏈変袱绉嶆柟寮忥紝涓€绉嶆槸瀹氫箟缁撴瀯浣擄紝涓€绉嶆槸瀹氫箟鏋氫妇锛岄€氳繃杩欎袱绉嶆柟寮忓畾涔変竴涓鍚堝疄闄呭満鏅殑澶嶆潅绫诲瀷.缁撴瀯浣撶殑瀹氫箟鍜屼娇鐢ㄥ畾涔夌粨鏋勪綋鐨勫叧閿瓧鏄痵truct锛涚粨鏋勯鏍兼湁C-Style銆乀uple-Style鍜孶nit-Style涓夌锛?.C-Style閫氱敤缁撴瀯锛氬畾涔夛細鍖呭惈涓や釜瀛楁锛岃〃绀衡€滃潗鏍囩偣缁撴瀯鈥濓紱structPoint{x:f32,y:f32,}鍒涘缓骞舵墦鍗板嚭Point缁撴瀯浣擄紝鎵撳嵃鏃剁敤涓や釜{:?}鍒嗗埆缂栫爜PointX鍜孭ointY锛沴etpoint=Point{x:10.23,y:29.39};println!("Pointx{:?}锛寉{:?}",point.x,point.y);//杈撳嚭锛歅ointx10.23,y29.392銆侱efinethestructure璇ュ瓧娈垫槸鍙︿竴绉嶇粨鏋勶細瀹氫箟锛氫竴涓寘鍚捣鐐瑰拰缁堢偣涓や釜鍧愭爣鐐圭殑鈥滅嚎缁撴瀯鈥濓紱structLine{start:Point,end:Point,}鍒涘缓骞舵墦鍗板嚭Line缁撴瀯锛屽垱寤烘椂浣跨敤瑙f瀯鏉ョ畝鍖栦娇鐢紝浣跨敤鍏峰悕鏂规硶鎸囧畾杈撳嚭鍐呭锛沴etLine{start,end}=Line{start:Point{x:0.00,y:0.00},end:Point{x:100.00,y:0.00},};println!("Linestart{startX:?}{startY:?}锛宔nd{endX:?}end{endY:?}",startX=start.x,startY=start.y,endX=end.x,endY=end.y,);//杈撳嚭锛歀ine寮€濮?.00.0锛岀粨鏉?00.0缁撴潫0.03銆俆uple-Style缁撴瀯锛氬畾涔夛細涓€涓寘鍚師鐐瑰拰鍗婂緞鐨勨€滅幆鐘剁粨鏋勨€濓紝鍏朵腑涓昏绁栧厛鐨勭壒鐐规槸鍙互灏嗕笉鍚岀被鍨嬬殑鏁版嵁鎵撳寘鍦ㄤ竴璧凤紱缁撴瀯鐜紙鐐癸紝绾匡級锛涘垱寤哄苟鎵撳嵃鐜粨鏋勶紱璁㏑ing(_point,_line)=Ring(point,Line{start,end});println!("鐜瘂pointX:?}{pointY:?},start{startX:?}{startY:?},end{endX:?}{endY:?}",pointX=_point.x,pointY=_point.y,startX=_line.start.x,startY=_line.start.y,endX=_line.end.x,endY=_line.end.y,);//output:Ring10.2329.39,start0.00.0,end100.00.04.Unit-Style鍗曞厓缁撴瀯瀹氫箟鍜屽垱寤猴細鐗规€ф槸娌℃湁瀛楁锛屾墍浠ュ綋浣犻渶瑕佸疄鐜颁竴涓壒鎬т絾鍙堜笉鎯冲瓨鍌ㄧ被鍨嬫湰韬殑浠讳綍鏁版嵁鏃跺彲浠ヤ娇鐢ㄥ畠锛泂tructEmpty;letx=Empty;println!("{:p}",&x);//output:0xca675df588鏋氫妇鐨勫畾涔夊拰浣跨敤瀹氫箟鏋氫妇锛歊ust涓殑鏋氫妇绫诲瀷鐢变竴绉嶆垨澶氱鏅€氱粨鏋勩€佸師濮嬬粨鏋勬垨鍗曞厓缁撴瀯缁勬垚锛沞numWebEvent{PageLoad,//unitstructureKeyPress(char),//鍏冪缁撴瀯Click{x:i64,y:i64},//鏅€欳-Style缁撴瀯}浣跨敤鍒悕锛氫娇鐢╰ype鍏抽敭瀛楀畾涔夌殑鍒悕锛岀畝鍖栧悗缁娇鐢紱typeWE=WebEvent;matchEnumeration锛氫娇鐢╩atch杩涜鍖归厤骞跺仛瀵瑰簲澶勭悊锛屽苟浣跨敤use鏉ョ畝鍖栦唬鐮乫ninspect(event:WE){//绠€鍖杣seWebEvent::{Click,KeyPress,PageLoad};//鍖归厤鍖归厤浜嬩欢鍚庡仛鐩稿簲澶勭悊{PageLoad=>println!("PageLoad"),KeyPress(c)=>println!("KeyPress:{}",c),Click{x,y}=>{println!("x:{},y:{}",x,y);}}}//鎵ц瀹氫箟鐨勫嚱鏁帮紝褰撴病鏈変娇鐢ㄥ畾涔夌殑瀛楁鏃讹紝鍙互杈撳叆`#![allow(dead_code)]`鏉ュ拷鐣ョ紪璇戦敊璇鍛奿nspect(WebEvent::PageLoad);inspect(WebEvent::KeyPress('a'));inspect(WebEvent::Click{x:100,y:200});鎬荤粨锛氭湰鏂囨湁鐐规按锛屾垜鎬荤粨浜哛ust缂栫▼璇█涓嚜瀹氫箟绫诲瀷鐨勬柟寮忥紝涓昏鏄湁浜涙寚閽堣娉曟湁鐐瑰埆鎵紝涓嬫娉ㄦ剰~娆㈣繋鍏虫敞鎴戠殑鍏紬鍙枫€婂墠绔皬鏂板悓瀛︺€嬶紝鍘熷垱鎶€鏈枃绔犲彿鏃堕棿鎺ㄩ€?/p>