मैं जंग सीख रहा हूं और यह बहुत दिलचस्प लग रहा है। मैं अभी तक "मैच" से बहुत परिचित नहीं हूं, लेकिन यह काफी अभिन्न अंग दिखता है। मैं स्ट्रिंग को i64 में कनवर्ट करने के लिए निम्न कोड (नीचे) का उपयोग कर रहा था जिसमें अगली पंक्ति "_" की जगह टिप्पणी की गई पंक्ति "कोई नहीं" शामिल थी। मुझे आश्चर्य हुआ कि अंडरस्कोर के बिना गैर-मैच की स्थिति में क्या हुआ या क्या "कोई नहीं" कैच-सब हो सकता है। कॉलिंग कोड को सकारात्मक i64 की आवश्यकता होती है, इसलिए अमान्य इनपुट में नकारात्मक परिणाम (इस मामले में)। मुझे यकीन नहीं है कि एक स्ट्रक्चर का उपयोग करने के अलावा इस उदाहरण का उपयोग कर रिटर्न में त्रुटि को इंगित करना संभव है।अगर कुछ भी मेल नहीं खाता तो "मैच" का उपयोग कर जंग में क्या होता है?
बिना किसी आइटम आइटम के अंडरस्कोर के, "कोई नहीं" सभी को पकड़ लेगा, और इसका उपयोग अंडरस्कोर के बजाय किया जा सकता है?
क्या इस तरह के फ़ंक्शन में कोई त्रुटि वापस लौटने के लिए एक स्ट्रक्चर का उपयोग किए बिना एक त्रुटि वापस करना संभव है?
सामान्यतः, "मैच" का उपयोग करके गैर-मिलान के लिए यह संभव है और यदि ऐसा है, तो क्या होता है?
नीचे दिए गए उदाहरण में, अंडरस्कोर का उपयोग करने और "कोई नहीं" का उपयोग करने के बीच कोई अंतर है?
उदाहरण कोड:
fn fParseI64(sVal: &str) -> i64 {
match from_str::<i64>(sVal) {
Some(iVal) => iVal,
// None => -1
_ => -1
}
}
धन्यवाद, कि बहुत व्याख्यात्मक लग रहा है। मैं दिए गए उदाहरणों का प्रयास करूंगा। –