একটি টেক্সট ফাইল লিখা

Go:
একটি টেক্সট ফাইল লিখা

কিভাবে:

Go তে টেক্সট ফাইলে লেখা হয় os এবং io/ioutil (Go সংস্করণ <1.16 এর জন্য) অথবা os এবং io প্লাস os প্যাকেজগুলির মাধ্যমে (Go 1.16 এবং তার ঊর্ধ্বের জন্য) যা Go এর সাদাসিধা ও কার্যকারিতার দর্শনকে প্রতিফলিত করে। নতুন API সাদাসিধা ত্রুটি হ্যান্ডলিং যুক্ত উন্নত প্র্যাকটিস প্রচার করে। চলুন দেখি, Go এর os প্যাকেজ ব্যবহার করে একটি টেক্সট ফাইল তৈরি ও লেখার প্রক্রিয়াটি কিভাবে করতে হয়।

প্রথমে, নিশ্চিত করুন আপনার Go পরিবেশ সেট আপ করা এবং প্রস্তুত। তারপর, একটি .go ফাইল তৈরি করুন, যেমন, writeText.go, এবং এটি আপনার টেক্সট এডিটর অথবা IDE তে ওপেন করুন।

এখানে একটি সহজ উদাহরণ দেওয়া হল, যা example.txt নামক একটি ফাইলে একটি স্ট্রিং লেখে:

package main

import (
    "os"
    "log"
)

func main() {
    content := []byte("Hello, Wired readers!\n")

    // Create or overwrite the file example.txt
    err := os.WriteFile("example.txt", content, 0644)
    if err != nil {
        log.Fatal(err)
    }
}

আপনি যখন go run writeText.go দিয়ে এই কোড রান করবেন, এটি “Hello, Wired readers!” সম্বলিত একটি ফাইল example.txt তৈরি করবে (অথবা যদি এটি আগে থেকেই থাকে তবে তা ওভাররাইট করবে)।

একটি ফাইলে যোগ করা

আপনি যদি কনটেন্ট যোগ করতে চান তবে কি হবে? Go এই প্রক্রিয়া সামলাতে একটি নমনীয় উপায় প্রদান করে:

file, err := os.OpenFile("example.txt", os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0644)
if err != nil {
    log.Fatal(err)
}
defer file.Close()

if _, err := file.WriteString("Appending more text.\n"); err != nil {
    log.Fatal(err)
}

এই স্নিপেটটি example.txt কে অ্যাপেন্ড মোডে ওপেন করে, একটি অতিরিক্ত লাইন লেখে, এবং ত্রুটি দেখা দিলেও ফাইলটি ঠিকমত ক্লোজ হওয়ার নিশ্চয়তা দেয়।

গভীর ডুব

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

যদিও Go এর বিল্ট-ইন লাইব্রেরি অনেক কেসেই যথেষ্ট, জটিল ফাইল অপারেশন বা বৃহত্তর ফ্রেমওয়ার্কের মধ্যে কাজ করার সময় বিকল্প প্যাকেজ বা বাহ্যিক লাইব্রেরিগুলি পছন্দ করা হতে পারে। তবে, সরাসরি, সহজ ফাইল লেখার কাজের জন্য, স্ট্যান্ডার্ড লাইব্রেরি প্রায়ই Go প্রোগ্রামিংয়ে সবচেয়ে কার্যকারিতামূলক ও আদর্শপথ প্রদান করে। ফাইল অপারেশনের জন্য সরল, আরও সংহত APIs এর দিকে প্রবাহ শুধুমাত্র Go কোড লেখা ও রক্ষণাবেক্ষণ সহজ করে না, বরং সাদাসিধা, পাঠযোগ্যতা এবং ব্যবহারিকতার ভাষার দর্শনকেও উত্সাহিত করে।