उपवाक्यांश निष्कर्षित करना

Go:
उपवाक्यांश निष्कर्षित करना

कैसे करें:

Go में, string प्रकार केवल पढ़ने योग्य बाइट्स की एक श्रेणी होती है। सबस्ट्रिंग्स को निकालने के लिए, मुख्य रूप से slice सिंटैक्स का उपयोग किया जाता है, साथ ही लंबाई की जाँच के लिए निर्मित len() फंक्शन और अधिक जटिल क्रियाकलापों के लिए strings पैकेज के साथ। यहाँ आप इसे कैसे हासिल कर सकते हैं:

बेसिक स्लाइसिंग

package main

import (
    "fmt"
)

func main() {
    str := "Hello, World!"
    // "World" को निकालता है
    subStr := str[7:12]
    
    fmt.Println(subStr) // आउटपुट: World
}

strings पैकेज का उपयोग करना

अधिक उन्नत सबस्ट्रिंग निकासी के लिए, जैसे कि एक विशिष्ट सबस्ट्रिंग के बाद या पहले स्ट्रिंग्स को निकालना, आप strings पैकेज का उपयोग कर सकते हैं।

package main

import (
    "fmt"
    "strings"
)

func main() {
    str := "name=John Doe"
    // "=" के बाद का सबस्ट्रिंग निकालता है
    subStr := strings.SplitN(str, "=", 2)[1]
    
    fmt.Println(subStr) // आउटपुट: John Doe
}

महत्वपूर्ण है कि Go स्ट्रिंग्स UTF-8 एन्कोडेड होती हैं और यदि उनमें मल्टी-बाइट वर्ण होते हैं तो सीधे बाइट श्रेणी हमेशा वैध स्ट्रिंग्स में परिणाम नहीं होती। यूनिकोड समर्थन के लिए, range या utf8 पैकेज का उपयोग करने पर विचार करें।

यूनिकोड वर्णों को संभालना

package main

import (
    "fmt"
    "unicode/utf8"
)

func main() {
    str := "Hello, 世界"
    // यूनिकोड वर्णों को ध्यान में रखकर सबस्ट्रिंग खोजना
    runeStr := []rune(str)
    subStr := string(runeStr[7:])
    
    fmt.Println(subStr) // आउटपुट: 世界
}

गहराई में

Go में सबस्ट्रिंग्स निकालना सरल है, इसकी स्लाइस सिंटैक्स और व्यापक मानक पुस्तकालय के लिए धन्यवाद। ऐतिहासिक रूप से, पहले की प्रोग्रामिंग भाषाओं ने ऐसे पाठ संचालन को संभालने के लिए अधिक सीधे फंक्शन्स या विधियों को प्रदान किया। हालांकि, Go का दृष्टिकोण सुरक्षा और कुशलता पर जोर देता है, विशेष रूप से इसकी अपरिवर्तनीय स्ट्रिंग्स और यूनिकोड वर्णों को रून्स के माध्यम से स्पष्ट रूप से संभालने के साथ।

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

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

सार में, Go की स्ट्रिंग मैनिपुलेशन के आसपास की डिजाईन पसंदें इसके आधुनिक, अंतरराष्ट्रीयकृत पाठ डेटा के साथ सरलता, दक्षता, और सुरक्षा के लाक्ष्यों को प्रतिबिंबित करती हैं। जबकि यह थोड़ा समायोजन की आवश्यकता हो सकती है, Go सबस्ट्रिंग निकासी और अधिक को संभालने के लिए प्रभावी और कुशल उपकरण प्रदान करता है।