Go:
एक अस्थायी फ़ाइल बनाना

कैसे:

Go में, ioutil पैकेज मूल रूप से अस्थायी फ़ाइल निर्माण के लिए सुविधाएँ प्रदान करता था। हालाँकि, Go 1.16 ने os और io/ioutil पैकेज के फंक्शनों को अधिक संगठित स्थानों में प्रयोग करने की सिफारिश की। अब, अस्थायी फ़ाइलों को संभालने के लिए os और io पैकेज पसंदीदा हैं।

यहाँ एक अस्थायी फ़ाइल बनाने, लिखने, और हटाने के लिए एक कदम-दर-कदम मार्गदर्शिका है:

  1. एक अस्थायी फ़ाइल बनाना:

os.CreateTemp फंक्शन का उपयोग करके आप एक अस्थायी फ़ाइल बना सकते हैं। यदि आप कोई निर्दिष्ट निर्देशिका नहीं देते हैं, तो यह आपके ओएस की डिफ़ॉल्ट अस्थायी फ़ोल्डर का उपयोग करता है।

package main

import (
    "io/ioutil"
    "log"
    "os"
)

func main() {
    tmpFile, err := ioutil.TempFile("", "example.*.txt")
    if err != nil {
        log.Fatal(err)
    }
    log.Printf("Created temporary file: %s\n", tmpFile.Name())

    defer os.Remove(tmpFile.Name()) // सफाई
}
  1. अस्थायी फ़ाइल में लिखना:

फ़ाइल में लिखने के लिए Write विधि या io या bufio पैकेजों से अन्य लेखन फ़ंक्शनों का उपयोग किया जा सकता है।

_, err = tmpFile.Write([]byte("Hello, World!"))
if err != nil {
    log.Fatal(err)
}
  1. अस्थायी फ़ाइल से पढ़ना:

पढ़ना इसी प्रकार से होता है, फ़ाइल के Read विधि का उपयोग करते हुए, या io या bufio पैकेजों से सुविधाओं का उपयोग करते हुए।

data, err := ioutil.ReadFile(tmpFile.Name())
if err != nil {
    log.Fatal(err)
}
log.Printf("Data read: %s\n", string(data))
  1. अस्थायी फ़ाइल को हटाना:

जबकि defer os.Remove(tmpFile.Name()) विवरण निर्माण चरण में सुनिश्चित करता है कि अस्थायी फ़ाइल कार्यक्रम के समाप्त होने के बाद हटा दी जाती है, स्पष्ट हटाने का प्रबंधन आवश्यकतानुसार किया जा सकता है।

नमूना आउटपुट:

2023/04/01 15:00:00 अस्थायी फ़ाइल बनाई गई: /tmp/example.123456.txt
2023/04/01 15:00:00 डेटा पढ़ा गया: Hello, World!

गहराई में डाइव

Go में अस्थायी फ़ाइलों के संभालने की मेकेनिज़्म में विकास हुआ है। मूल रूप से, अस्थायी फ़ाइलें बनाना प्रमुख रूप से अब प्रचलित नहीं ioutil.TempFile फंक्शन द्वारा प्रबंधित किया जाता था, जिससे सुरक्षित और कुशल फ़ाइल संभालने की प्रथाओं की ओर सॉफ्टवेयर विकास में व्यापक रुझान प्रतिबिंबित होता है। os और io पैकेजों में ये कार्यक्षमताएँ एकीकृत करने का कदम, Go 1.16 के साथ, भाषा की स्टैंडर्ड लाइब्रेरी को सरलीकृत करने और अधिक एकीकृत और सहज APIs का उपयोग करने की दिशा में एक व्यापक पहल को दर्शाता है।

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