গো-তে পাঠ্য ফাইলগুলির সাথে কাজ করার জন্য একটি নির্দেশিকা৷

গো-তে পাঠ্য ফাইলগুলির সাথে কাজ করার জন্য একটি নির্দেশিকা৷

একটি প্রোগ্রামিং ভাষা হিসাবে, Go-তে টেক্সট (.txt) ফাইলের মতো ফাইল তৈরি, পড়ার এবং লেখার ক্ষমতা সহ বিস্তৃত অন্তর্নির্মিত বৈশিষ্ট্য রয়েছে।





আধুনিক বিশ্বে ফাইলগুলি আমাদের দৈনন্দিন জীবনের গুরুত্বপূর্ণ উপাদান। টেক্সট ফাইল বাহ্যিক সফ্টওয়্যার বা ডাটাবেস ব্যবহার ছাড়াই স্ট্রাকচার্ড মানব-পাঠযোগ্য ডেটা সংরক্ষণের জন্য দরকারী।





দিনের মেকইউজের ভিডিও

আপনি যদি ভাবছেন কিভাবে আপনি Go-তে টেক্সট ফাইলগুলিকে ম্যানিপুলেট করা শুরু করতে পারেন, এই নিবন্ধটি আপনার জন্য সঠিক জায়গা।





গো-তে বুফিও প্যাকেজ

দ্য বুফিও প্যাকেজ, যা Go এর স্ট্যান্ডার্ড লাইব্রেরির একটি অংশ, বাফার ইনপুট এবং আউটপুট অপারেশনের জন্য ব্যবহৃত হয়, তাই নাম। দ্য বুফিও প্যাকেজ উপর তৈরি io.পাঠক এবং io.Writer ইন্টারফেস, যা Go-এর বেশিরভাগ স্ট্যান্ডার্ড প্যাকেজ বাস্তবায়নে ব্যাপকভাবে ব্যবহৃত হয়।

গুগল ডক্সে মার্জিন কীভাবে সম্পাদনা করবেন

দ্য বুফিও প্যাকেজ বাফারিং বাস্তবায়নের মাধ্যমে আরও এক ধাপ এগিয়ে যায়, এটিকে পাঠ্য ডেটা জড়িত IO অপারেশনগুলির জন্য দরকারী করে তোলে।



ব্যবহার করতে বুফিও আপনার প্রোগ্রামে প্যাকেজ, আপনার অন্যান্য প্যাকেজের পাশাপাশি এটি আমদানি করা উচিত।

import ( 
"fmt"
"bufio"
)

আপনি সম্ভবত শুনেছেন যখন আপনি Go দিয়ে শুরু করেছি এটি একটি প্রোগ্রামার হিসাবে আপনার সম্ভবত প্রয়োজন হতে পারে এমন সবকিছুর সাথে আসে। আপনার অপারেটিং সিস্টেমের সাথে সরাসরি যোগাযোগের জন্য, একটি প্যাকেজ বলা হয় আপনি যা প্ল্যাটফর্ম-স্বাধীন ফাংশন প্রদান করে।





দ্য আপনি এবং বুফিও প্যাকেজ টেক্সট ফাইল ম্যানিপুলেশন অবিশ্বাস্যভাবে সহজ.

যদিও এর বিশাল সংখ্যাগরিষ্ঠ আপনি প্যাকেজের ফাংশনগুলি ইউনিক্স-এর মতো, তারা সমস্ত ত্রুটি পরিচালনার গো শৈলী নিযুক্ত করে, যা ত্রুটি বার্তা এবং ডিবাগ কোড পড়া সহজ করে তোলে।





সুতরাং, আপনি কীভাবে গো-তে পাঠ্য ধারণকারী ফাইলগুলি পরিচালনা করবেন?

কিভাবে একটি টেক্সট ফাইল থেকে ডেটা পড়তে হয়

পাঠ্য ফাইল থেকে ডেটা পড়তে, আপনাকে কল করতে হবে আপনি প্যাকেজ খুলুন() ফাংশন, যা একটি প্যারামিটার হিসাবে পড়ার জন্য ফাইলের নাম গ্রহণ করে। ফাইলটি পাওয়ার আরেকটি পদ্ধতি হল ব্যবহার করে খোলা ফাইল() ফাংশন

মধ্যে প্রধান পার্থক্য খুলুন() এবং খোলা ফাইল() তাদের বাস্তবায়নে রয়েছে। খুলুন() শুধুমাত্র-পঠন মোডে একটি ফাইল খোলে (এর সাথে O_RDONLY পতাকা), যখন খোলা ফাইল() তিনটি পরামিতি গ্রহণ করে আরো নমনীয়তা দেয় যথা:

  • ফাইলের নাম
  • ফাইল খোলার মোড: বৈধ ফাইল খোলার মোডগুলি নীচের টেবিলে দেখানো হয়েছে৷
    পতাকা অর্থ
    O_RDONLY শুধুমাত্র-পঠন মোডে ফাইল খোলে
    O_WRONLY শুধুমাত্র লেখার মোডে ফাইল খোলে
    O_RDWR রিড-রাইট মোডে ফাইল খোলে
    O_APPEND লেখার সময় ফাইলে ডেটা যুক্ত করে
    O_CREATE কোনটি বিদ্যমান না থাকলে একটি নতুন ফাইল তৈরি করে
    O_EXCL O_CREATE এর সাথে ব্যবহার করা হয়, এটি নির্দেশ করতে যে ফাইলটি শুধুমাত্র তখনই তৈরি করা উচিত যদি এটি বিদ্যমান না থাকে
    O_SYNC সিঙ্ক্রোনাস I/O-এর জন্য ফাইল খোলে
    O_TRUNC যদি সম্ভব হয়, খোলা অবস্থায় ফাইলটি ছেঁটে দিন
  • ফাইল অনুমতি: একই লিনাক্সে ফাইল অনুমতি বিট ফাইল অ্যাক্সেসের নিয়মগুলি নির্দিষ্ট করার জন্য ব্যবহৃত হয়, যেমন, 0777 সমস্ত ধরনের ব্যবহারকারীকে পড়ার, লিখতে এবং চালানোর অনুমতি দিতে।

নিচের কোডটি দেখায় কিভাবে Go ব্যবহার করে একটি টেক্সট ফাইল থেকে ডেটা পড়তে হয় os. Open() , এবং স্ক্যান() যা এই ক্ষেত্রে, a এ সঞ্চালিত হয় লুপ জন্য যান .

package main 
import (
"bufio"
"fmt"
"log"
"os"
)
/**
CONTENT OF THE "testfile.txt" file.
lorem ipsum dolor sit amet
LOREM IPSUM DOLOR SIT AMET
Lorem ipsum dolor sit amet
Lorem Ipsum Dolor Sit Amet
lOREM iPSUM dOLOR sIT aMET
LoReM IpSuM DoLoR SiT AmEt
*/
func main() {
file, err := os.Open("testfile.txt")
// another method using os.OpenFile()
// file, err = os.OpenFile("testfile.txt", os.O_RDONLY, 0644)
if err != nil {
log.Fatal(err)
}
defer file.()
fmt.Println("File opened successfully. Now reading file contents line by line:")
// create scanner from the file to read text from
scanner := bufio.NewScanner(file)
// scan or read the bytes of text line by line
for scanner.Scan() {
fmt.Println(scanner.Text())
}
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
}

যখন আপনি উপরের কোডটি দিয়ে রান করুন যান filename.go চালান , এটি নীচে দেখানো আউটপুট উত্পাদন করে:

  ফাইল থেকে পাঠ্য পড়ার জন্য প্রোগ্রামের আউটপুট