একটি অস্থায়ী ফাইল তৈরি করা

Go:
একটি অস্থায়ী ফাইল তৈরি করা

কিভাবে:

Go-তে, ioutil প্যাকেজ মূলত অস্থায়ী ফাইল তৈরির জন্য ইউটিলিটিস প্রদান করেছিল। তবে, Go 1.16 os এবং io/ioutil প্যাকেজের ফাংশনগুলিকে আরও সুবিন্যস্ত স্থানে প্রচার করেছে। এখন, os এবং io প্যাকেজগুলি অস্থায়ী ফাইল সম্পাদনার জন্য প্রাধান্য পায়।

এখানে একটি অস্থায়ী ফাইল তৈরি, লেখা এবং মুছে ফেলার ধাপে ধাপে নির্দেশিকা প্রদান করা হল:

১. একটি অস্থায়ী ফাইল তৈরি:

os.CreateTemp ফাংশন ব্যবহার করে, আপনি একটি অস্থায়ী ফাইল তৈরি করতে পারবেন। কোন ডিরেক্টরি নির্দিষ্ট না করে, এটি আপনার OS-এর ডিফল্ট টেম্প ফোল্ডার ব্যবহার করে।

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()) // পরিষ্কারের জন্য
}

২. অস্থায়ী ফাইলে লেখা:

ফাইলে লিখন কাজটি Write মেথড বা io বা bufio প্যাকেজ থেকে অন্যান্য লেখা ফাংশনগুলির মাধ্যমে অর্জন করা যেতে পারে।

_, err = tmpFile.Write([]byte("Hello, World!"))
if err != nil {
    log.Fatal(err)
}

৩. অস্থায়ী ফাইল থেকে পড়া:

পড়ার কাজটি অনুরূপভাবে ফাইলের Read মেথড বা io বা bufio প্যাকেজ থেকে ইউটিলিটিগুলি ব্যবহার করে করা যায়।

data, err := ioutil.ReadFile(tmpFile.Name())
if err != nil {
    log.Fatal(err)
}
log.Printf("Data read: %s\n", string(data))

৪. অস্থায়ী ফাইলটি মুছে ফেলা:

তৈরি করার পর্যায়ে defer os.Remove(tmpFile.Name()) বিবৃতি প্রদান করে নিশ্চিত করে যে প্রোগ্রাম সমাপ্তির পর অস্থায়ী ফাইলটি মুছে ফেলা হয়, প্রয়োজন মতো স্পষ্টভাবে মুছে ফেলা পরিচালনা করা যেতে পারে।

নমুনা আউটপুট:

2023/04/01 15:00:00 Created temporary file: /tmp/example.123456.txt
2023/04/01 15:00:00 Data read: Hello, World!

গভীর ডুব

Go-তে অস্থায়ী ফাইলগুলির সম্পাদনা পিছনের কারিগরি বিকশিত হয়েছে। প্রাথমিকভাবে, অস্থায়ী ফাইলগুলি তৈরি করা প্রধানত ioutil.TempFile ফাংশন দ্বারা পরিচালিত হতো, যা আরও নিরাপদ এবং কার্যকর ফাইল সম্পাদনা প্রক্রিয়ার দিকে সফটওয়্যার ডেভেলপমেন্টের প্রবণতা প্রতিফলিত করে। os এবং io প্যাকেজগুলিতে এই ক্রিয়াকলাপগুলির সংহত করার সঙ্গে Go 1.16-এর চলে আসা ভাষার মানক লাইব্রেরি প্রসারিত এবং ঐক্যবদ্ধ এবং একগুচ্ছ API ব্যবহারের প্রতি উত্সাহিত করার দিকে আরও বড় ধাক্কা দেয়।

যদিও অস্থা�