Go:
ডিরেক্টরি আছে কিনা পরীক্ষা করা
কিভাবে:
Go ভাষায়, os
প্যাকেজটি অপারেটিং সিস্টেমের সাথে মিথস্ক্রিয়ার জন্য ফাংশনালিটিস প্রদান করে, যা একটি নির্দেশিকা অস্তিত্ব আছে কিনা তা যাচাই করা সম্ভব করে। এখানে আপনি কিভাবে তা করতে পারেন:
package main
import (
"fmt"
"os"
)
// isDirExists যাচাই করে যে একটি নির্দেশিকা অস্তিত্ব আছে কি না
func isDirExists(path string) bool {
info, err := os.Stat(path)
if os.IsNotExist(err) {
return false
}
return info.IsDir()
}
func main() {
dirPath := "/tmp/exampleDir"
if isDirExists(dirPath) {
fmt.Printf("নির্দেশিকা %s অস্তিত্ব আছে.\n", dirPath)
} else {
fmt.Printf("নির্দেশিকা %s অস্তিত্ব নেই.\n", dirPath)
}
}
উদাহরণ আউটপুট:
নির্দেশিকা /tmp/exampleDir অস্তিত্ব আছে.
অথবা
নির্দেশিকা /tmp/exampleDir অস্তিত্ব নেই.
নির্ভর করে /tmp/exampleDir
অস্তিত্ব আছে কিনা।
গভীর ডাইভ
ফাংশন os.Stat
একটি FileInfo
ইন্টারফেস এবং একটি ত্রুটি ফেরত দেয়। যদি ত্রুটিটি os.ErrNotExist
ধরণের হয়, তার মানে নির্দেশিকাটি অস্তিত্ব নেই। যদি কোনো ত্রুটি না থাকে, তাহলে আমরা আরও যাচাই করি যে পথটি সত্যিই একটি নির্দেশিকাকে বোঝায় কিনা FileInfo
ইন্টারফেস থেকে IsDir()
মেথডের মাধ্যমে।
এই পদ্ধতিটি এর সরলতা এবং কার্যকারিতার জন্য বৈশিষ্ট্যমণ্ডিত, তবে এটি উল্লেখ করা জরুরি যে তৈরি বা লিখনের মতো অপারেশন করার আগে নির্দেশিকার অস্তিত্ব যাচাই করা সমান্তরাল পরিবেশে রেস কন্ডিশনের সৃষ্টি করতে পারে। অনেক পরিস্থিতিতে, বিশেষ করে সমান্তরাল অ্যাপ্লিকেশনগুলিতে, অপারেশনটি (যেমন, ফাইল তৈরি) চেষ্টা করা এবং তারপর ত্রুটি সম্পর্কে সমাধান করা, প্রথমে যাচাই করার চেয়ে নিরাপদ হতে পারে।
ইতিহাসগতভাবে, এই পদ্ধতিটি এর সরল যুক্তিবিদ্যার কারণে প্রোগ্রামিংয়ে সাধারণ ছিল। যাইহোক, মাল্টি-থ্রেডেড এবং সমান্তরাল কম্পিউটিং এর বিকাশ আরও শক্তিশালী ত্রুটি হ্যান্ডলিং এবং এই ধরণের প্রাক-শর্ত যাচাই এড়িয়ে চলার দিকে যেতে বাধ্য করে। এটি তার উপযোগিতা হ্রাস করে না সিম্পল, সিঙ্গেল-থ্রেডেড অ্যাপ্লিকেশন বা স্ক্রিপ্টগুলির জন্য যেখানে এই শর্তগুলি কম উদ্বেগের কারণ।