উত্তর:
// exists returns whether the given file or directory exists
func exists(path string) (bool, error) {
_, err := os.Stat(path)
if err == nil { return true, nil }
if os.IsNotExist(err) { return false, nil }
return false, err
}
ত্রুটি পরিচালনা পরিচালনা করতে সম্পাদিত।
panic
অবজেক্টের মতো প্রকৃত "ব্যতিক্রম" এর জন্য গো ব্যবহার করে । আপনি কল করতে "ধরতে" পারেন recover
। স্পষ্টরূপে err
দ্বিতীয় রিটার্ন মান হিসাবে ফিরিয়ে দেওয়া একটি অত্যন্ত সাধারণ, প্রতিচ্ছবিযুক্ত কৌশল। দেখুন: golang.org/doc/effective_go.html#erferences
if _, err := os.Stat("./conf/app.ini"); err == nil { /*exists*/ } else { /*not exists or some other error*/ }
আপনি এটি ব্যবহার করতে পারেন:
if _, err := os.Stat("./conf/app.ini"); err != nil {
if os.IsNotExist(err) {
// file does not exist
} else {
// other error
}
}
একটি এফওয়াইআই এর আরও অনেক কিছু, যেহেতু আমি আমার প্রশ্নটি খুব দ্রুত সন্ধানের জন্য ভেবে কয়েক মিনিট ঘুরে দেখলাম।
কীভাবে পায়ে কোনও বিদ্যমান ডিরেক্টরি উপস্থাপন করে তা পরীক্ষা করে দেখুন?
এটি আমার অনুসন্ধান ফলাফলগুলির মধ্যে সর্বাধিক জনপ্রিয় উত্তর ছিল তবে এখানে এবং অন্য কোথাও সমাধানগুলি কেবল অস্তিত্বের চেক সরবরাহ করে। path
বিদ্যমান ডিরেক্টরিটি উপস্থাপন করে কিনা তা খতিয়ে দেখতে, আমি সহজেই দেখতে পেলাম:
path := GetSomePath();
if stat, err := os.Stat(path); err == nil && stat.IsDir() {
// path is a directory
}
আমার সমস্যার অংশটি হ'ল আমি আশা করেছি path/filepath
প্যাকেজটি আইসডির () ফাংশনটি ধারণ করবে।
ফাইল বিদ্যমান আছে কি নেই তা যাচাই করার সহজ উপায়:
if _, err := os.Stat("/path/to/whatever"); os.IsNotExist(err) {
// path/to/whatever does not exist
}
if _, err := os.Stat("/path/to/whatever"); err == nil {
// path/to/whatever exists
}
সূত্র:
আপনার ফাইল বিদ্যমান কিনা তা যাচাই করার সহজ উপায় রয়েছে:
if _, err := os.Stat("./conf/app.ini"); err != nil {
if os.IsNotExist(err) {
..... //Shows error if file not exists
} else {
..... // Shows success message like file is there
}
}
f, err := os.Open(name)
বাf, err := os.OpenFile(name,os.O_CREATE|os.O_EXCL, mode)
তারপরে চেক করুনos.IsNotExist(err)
)।