आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

गो प्रोग्रामिंग भाषा में प्रदान की जाने वाली संरचनाएं प्राथमिक और लोकप्रिय रूप से उपयोग किए जाने वाले डेटा प्रकारों में से एक हैं। डेटाबेस पैकेज से लेकर ओआरएम तक, विभिन्न कार्यात्मकताओं में कई पैकेज, और कुछ वेब फ्रेमवर्क आसान डेटा पार्सिंग और अन्य संचालन के लिए स्ट्रक्चर्स का उपयोग करते हैं।

गो में संरचना सत्यापन एक सामान्य कार्य है, और गो सत्यापनकर्ता पैकेज आपकी परियोजनाओं में संरचना को मान्य करने का एक सरल और कुशल तरीका प्रदान करता है।

गो वैलिडेटर पैकेज क्या है

सत्यापनकर्ता जाओ पैकेज संरचना घोषणा पर निर्दिष्ट टैग के आधार पर संरचना और व्यक्तिगत क्षेत्रों के लिए मूल्य सत्यापन लागू करता है।

गो वैलिडेटर पैकेज टैग, स्लाइस, एरे और मैप डाइविंग का उपयोग करके क्रॉस-फील्ड और क्रॉस-स्ट्रक्चर सत्यापन के लिए सुविधाएँ प्रदान करता है जो स्तरों की अनुमति देता है बहुआयामी क्षेत्र सत्यापन, कस्टम क्षेत्र सत्यापन, कस्टम-परिभाषित फ़ील्ड नामों का निष्कर्षण, अनुकूलन योग्य त्रुटि संदेश, और के लिए समर्थन लोकप्रिय

instagram viewer
जिन ढांचा पैकेज के लिए डिफ़ॉल्ट सत्यापनकर्ता के रूप में।

स्थापित करने के लिए अपनी कार्यशील निर्देशिका के टर्मिनल में इनमें से एक कमांड चलाएँ सत्यापनकर्ता पैकेट।

जाना gopkg.in/ प्राप्त करेंजाना-खेल का मैदान/सत्यापनकर्ता.v9
जाना github.com/ प्राप्त करेंजाना-खेल का मैदान/सत्यापनकर्ता/v10

संस्करण URL के प्रत्यय हैं। पहला कमांड संस्करण 9 को स्थापित करता है, और दूसरा पैकेज के संस्करण 10 को स्थापित करता है।

पैकेज स्थापित करने के बाद, आप अपने द्वारा इंस्टॉल किए गए संस्करण के आधार पर पैकेज को अपनी परियोजनाओं में आयात कर सकते हैं।

आयात (
"gopkg.in/go-playground/validator.v9"
)

अब आप गो सत्यापनकर्ता पैकेज का उपयोग करने के लिए आगे बढ़ सकते हैं। यदि आपकी स्थापना के साथ कोई समस्या है, तो नवीनतम गो संस्करण में पुनः स्थापित/अपग्रेड करने का प्रयास करें।

वैलिडेटर पैकेज के साथ स्ट्रक्चर्स को मान्य करना

आपको इसका एक उदाहरण बनाना होगा सत्यापनकर्ता। मान्य संरचना, फ़ील्ड के सत्यापन नियमों को निर्दिष्ट करने के लिए सत्यापन टैग का उपयोग करके उस संरचना को परिभाषित करें जिसे आप सत्यापित करना चाहते हैं।

यहां बताया गया है कि आप इसका उदाहरण कैसे बना सकते हैं सत्यापनकर्ता। मान्य संरचना।

समारोहमुख्य() {
मान्य करें: = सत्यापनकर्ता। नया()
}

आप उस संरचना को परिभाषित कर सकते हैं जिसे आप फ़ील्ड के लिए टैग निर्दिष्ट करके सत्यापित करना चाहते हैं, जिससे सत्यापन नियम निर्धारित किए जा सकें। सत्यापन टैग संरचना क्षेत्र परिभाषाओं के विशेष एनोटेशन हैं जो नियमों को निर्दिष्ट करते हैं।

सत्यापन के लिए यहां एक नियमित संरचना है।

प्रकार उपयोगकर्ता struct {
नाम डोरी
आयु int यहाँ
ईमेल डोरी
}

सत्यापन के लिए तैयार संरचना का एक उदाहरण यहां दिया गया है।

प्रकार उपयोगकर्ता struct {
नाम डोरी`सत्यापित करें: "आवश्यक" '
आयु int यहाँ`पुष्टि करें:"gte=0,lte=130"`
ईमेल डोरी`पुष्टि करें:"आवश्यक, ईमेल"`
}

इस उदाहरण में, आपने निर्दिष्ट किया है नाम तात्कालिकता पर आवश्यकतानुसार फ़ील्ड, आयु फ़ील्ड 0 से अधिक या उसके बराबर और 130 से कम या उसके बराबर होना चाहिए, और ईमेल फ़ील्ड आवश्यक है और तात्कालिकता पर एक मान्य ईमेल पता होना चाहिए।

गो सत्यापनकर्ता पैकेज में विभिन्न सत्यापन टैग उपलब्ध हैं, जिनमें आवश्यक फ़ील्ड के लिए टैग, न्यूनतम और अधिकतम मान और शामिल हैं नियमित अभिव्यक्ति. आप सत्यापनकर्ता पैकेज के लिए दस्तावेज़ीकरण में उपलब्ध सत्यापन टैग की पूरी सूची पा सकते हैं।

एक बार जब आप उस संरचना को परिभाषित कर लेते हैं जिसे आप मान्य करना चाहते हैं और प्रत्येक क्षेत्र के लिए सत्यापन नियम निर्दिष्ट करते हैं, तो आप इसका उपयोग कर सकते हैं struct की विधि सत्यापनकर्ता। मान्य संरचना को मान्य करने के लिए संरचना।

उपयोगकर्ता: = उपयोगकर्ता {
// नाम तत्काल नहीं किया गया
आयु: 3990000,
ईमेल: "जॉन@example.com",
}
// ध्यान दें कि नाम और आयु फ़ील्ड सत्यापन विफल हो जाते हैं

त्रुटि: = मान्य करें। संरचना (उपयोगकर्ता)
अगर गलती! = शून्य {
// संरचना अमान्य है
}

struct विधि सत्यापन त्रुटि मौजूद होने पर त्रुटि लौटाती है, और आप अपने ऑपरेशन के आधार पर त्रुटि को संभाल सकते हैं।

आप इन त्रुटियों का उपयोग कर सकते हैं सत्यापन त्रुटियां त्रुटि की विधि।

अगर गलती! = शून्य {
के लिए _, गलती: = श्रेणी त्रुटि। (सत्यापनकर्ता। सत्यापन त्रुटियां) {
fmt. प्रिंट्लन (इरेट। फील्ड (), एर। उपनाम())
}
}

सत्यापन त्रुटियां विधि सत्यापन त्रुटि के साथ प्रत्येक फ़ील्ड का नाम और त्रुटि उत्पन्न करने वाले सत्यापन टैग को वापस कर देगी।

यदि विशिष्ट सत्यापन आवश्यकताएँ अंतर्निहित टैग का हिस्सा नहीं हैं, तो आप कस्टम सत्यापन टैग भी परिभाषित कर सकते हैं।

आप उपयोग कर सकते हैं रजिस्टर सत्यापन की विधि सत्यापनकर्ता। मान्य संरचना। रजिस्टर सत्यापन विधि दो तर्क लेती है; सत्यापन टैग और सत्यापन फ़ंक्शन का नाम। सत्यापन फ़ंक्शन एक कॉलबैक फ़ंक्शन है जिसे कस्टम सत्यापन टैग वाले प्रत्येक फ़ील्ड के लिए कॉल किया जाता है, और फ़ंक्शन को वापस आना चाहिए सत्य यदि फ़ील्ड मान्य है और असत्य यदि अन्यथा।

यहाँ एक कस्टम सत्यापन टैग की एक उदाहरण परिभाषा दी गई है। टैग सम संख्याओं के लिए फ़ील्ड को मान्य करता है।

मान्य करें। रजिस्टरसत्यापन("यहां तक ​​की", समारोह(फ्लो वैलिडेटर। क्षेत्र स्तर)बूल {
// फ़ील्ड मान को int के रूप में प्राप्त करने का प्रयास करें
मूल्य, ठीक है: = fl. फ़ील्ड ()। इंटरफ़ेस ()। (int यहाँ)
अगर !ठीक {
// यदि फ़ील्ड मान इंट नहीं है, तो गलत लौटें
वापस करनाअसत्य
}
// यदि मान सम है तो सही लौटें, अन्यथा गलत
वापस करना कीमत % 2 == 0
})

कोड एक कस्टम सत्यापन टैग को परिभाषित करता है यहां तक ​​की का उपयोग रजिस्टर सत्यापन की विधि सत्यापनकर्ता। मान्य संरचना। आपने सत्यापन टैग को ऐसे फ़ंक्शन का उपयोग करके परिभाषित किया है जो प्रकार का एकल तर्क लेता है सत्यापनकर्ता। फील्डलेवल।

अब आप संरचना परिभाषाओं में कस्टम सत्यापन टैग का उपयोग उसी तरह कर सकते हैं जैसे आप अंतर्निहित सत्यापन टैग के लिए करते हैं।

प्रकार MyStruct struct {
कीमत int यहाँ`मान्य करें: "यहां तक ​​​​कि"`
}

जाने के लिए और भी बहुत कुछ है

संरचनाएँ गो में प्रथम श्रेणी के नागरिक हैं, और आप संरचना के साथ बहुत कुछ कर सकते हैं। यदि आप विशुद्ध रूप से वस्तु-उन्मुख भाषाओं से परिचित हैं, तो आप डेटा पर काम करने के लिए गो स्ट्रक्चर्स का उपयोग कर सकते हैं जैसा कि आप कक्षाओं के साथ करते हैं।