প্রথম সব, যখনই আপনি একটি "কিভাবে এটা অনুশীলন ব্যবহার করা হয়" প্রশ্ন আছে, একটি ভালো উপায় শুরু করার জন্য হয় অনুসন্ধান যান সোর্স কোড (অথবা কোনো বড় যথেষ্ট যান কোড বেস, সত্যিই), এবং প্যাকেজ ডক্স উত্তরের জন্য।
এখন, os.Exit
এবং panic
একেবারে পৃথক। panic
যখন প্রোগ্রাম, বা এর অংশটি অপরিবর্তনযোগ্য অবস্থায় পৌঁছেছে তখন ব্যবহৃত হয়।
যখন panic
রান-টাইমের ত্রুটিগুলির জন্য স্পষ্টভাবে অন্তর্ভুক্ত করা হয় যেমন সীমা ছাড়িয়ে কোনও স্লাইসকে সূচক করা বা কোনও প্রকারের ব্যর্থতা ব্যর্থ করা হয়, এটি তত্ক্ষণাত্ বর্তমান ফাংশনটির সম্পাদন থামিয়ে দেয় এবং গোরোটিনের স্ট্যাকটি আনওয়াইন্ডিং শুরু করে, পথে কোনও স্থগিত ফাংশন চালায়। যদি সেই অনিচ্ছাকৃত গুরোটিনের স্ট্যাকের শীর্ষে পৌঁছে, প্রোগ্রামটি মারা যায়।
os.Exit
আপনার পুনরুদ্ধার বা মুলতুবি সাফ করার বিবরণী চালানোর কোনও সম্ভাবনা না থাকলে তত্ক্ষণাত্ প্রোগ্রামটি বন্ধ করতে হবে এবং একটি ত্রুটি কোডও ফিরে আসে (যা অন্যান্য প্রোগ্রামগুলি ঘটেছে তা জানাতে ব্যবহার করতে পারে)। এটি পরীক্ষাগুলিতে কার্যকর, যখন আপনি ইতিমধ্যে জানেন যে এই পরীক্ষার ব্যর্থ হওয়ার পরে, অন্যটিও ব্যর্থ হবে, সুতরাং আপনি সম্ভবত এখনই প্রস্থান করতে পারেন। এটি যখন আপনার প্রোগ্রামটি করার জন্য প্রয়োজনীয় সমস্ত কাজ করে থাকে তখন এটি ব্যবহার করা যেতে পারে এবং এখন কেবল প্রস্থান করা দরকার, অর্থাত কোনও সহায়তা বার্তা প্রিন্ট করার পরে।
বেশিরভাগ সময় আপনি ব্যবহার করবেন না panic
(আপনার error
পরিবর্তে ফিরে আসা উচিত ) os.Exit
এবং পরীক্ষার ক্ষেত্রে এবং দ্রুত প্রোগ্রামের সমাপ্তির জন্য আপনার প্রায়শই কোনও ক্ষেত্রে প্রয়োজন হয় না ।
panic
ত্রুটি থেকে বেরিয়ে আসার জন্য ব্যবহার করা হয়, খাঁটিভাবে বোঝা সহজ যে কারণে এবং অন্য যে কোনও প্যাকেজ আমদানি বাদ দেয়। এর অর্থ এই নয় যে এটি ভাল, বা অহংকারমূলক অনুশীলন! । উদাহরণস্বরূপ কোডের জন্য এটি কেবল একটি স্থান সাশ্রয়কারী ডিভাইস। IRL রিজার্ভpanic
জন্য খুব বিশেষ পরিস্থিতিতে।