কম

কমেন্ট মধ্যে Go

১টি অনুশীলনী

কমেন্ট সম্পর্কে

কমেন্ট দিয়ে আপনি কোডে নোট রেখে যেতে পারেন, কোডটি কীভাবে চলে তা না বদলেই। একটি সিঙ্গেল-লাইন কমেন্ট লাইনের যেকোনো জায়গায় // দিয়ে শুরু হয়। // থেকে সেই লাইনের শেষ পর্যন্ত সবকিছু কম্পাইলার উপেক্ষা করে। একই লাইনে কোডের পরে কমেন্ট এলে, তাকে অনেক সময় ইনলাইন কমেন্ট বলা হয়। একটি মাল্টিলাইন কমেন্ট লাইনের যেকোনো জায়গায় /* দিয়ে শুরু হয় এবং */ দিয়ে শেষ হয়। মাঝের সবকিছু, এক বা একাধিক লাইনজুড়ে, কম্পাইলার উপেক্ষা করে।

// This is a single-line comment on its own line

x := 1 // This is an single-line comment inline with code
fmt.Println(x) // prints 1

/*
This is a valid
multiline comment.
*/

/* This is also a valid multi-line comment. */

কমেন্ট কোথায় আছে, তার উপর নির্ভর করে তার কাজ আলাদা হয়।

কোড কমেন্ট

কোড কমেন্ট ব্যাখ্যা করে কেন কিছু করা হচ্ছে, কী করা হচ্ছে তা নয়। সিদ্ধান্তের পেছনের কারণ কোড দেখে স্পষ্ট না হলে সেগুলো ব্যবহার করুন:

results = results[1:] // skipping the header row

বেশিরভাগ ক্ষেত্রেই স্পষ্টভাবে লেখা কোড নিজেই নিজেকে ব্যাখ্যা করে, কমেন্টের দরকার হয় না। মাঝেমধ্যে কোডকে জটিল বা অপ্রত্যাশিত কিছু করতে হয়; সেই ধরনের কোডে কমেন্ট থাকা উচিত।

ডক কমেন্ট

প্যাকেজ, ভ্যারিয়েবল বা ফাংশন ডকুমেন্ট করতে ডক কমেন্ট ব্যবহার করা হয়। এই ডকুমেন্টেশন অন্য কোডারদের জন্য, যারা জানতে চান আপনার কোড কীভাবে ব্যবহার করবেন। এখানে উচ্চ স্তরে ব্যাখ্যা থাকা উচিত কোডটি কী করে এবং কীভাবে ব্যবহার করতে হয়। কোডটি নিজে কীভাবে কাজ করে তার বিস্তারিত এখানে থাকা উচিত নয়। ডক কমেন্ট সরাসরি একটি ডিক্লেয়ারেশনের আগে বসে; কমেন্ট আর ডিক্লেয়ারেশনের মাঝে কোনো ফাঁকা লাইন থাকে না। godoc এগুলো পার্স করে প্যাকেজ ডকুমেন্টেশন তৈরি করে, যেমনটা pkg.go.dev-এ দেখা যায়। একটি ডক কমেন্ট হবে একটি সম্পূর্ণ বাক্য, যা আইডেন্টিফায়ারের নাম দিয়ে শুরু হবে আর একটি ফুলস্টপ দিয়ে শেষ হবে।

এক্সপোর্টেড আইডেন্টিফায়ারের (যেগুলো বড় হাতের অক্ষর দিয়ে শুরু হয়) ডক কমেন্ট তৈরি হওয়া ডকুমেন্টেশনে দেখা যায়। আনএক্সপোর্টেড আইডেন্টিফায়ারের (যেগুলো বড় হাতের অক্ষর দিয়ে শুরু হয় না) ডক কমেন্ট দেখা যায় না, তবে সেগুলো কোডের ভেতরে কাজের প্রেক্ষাপট দিতে পারে।

প্যাকেজ ডকুমেন্ট করা কমেন্ট প্যাকেজের নাম দিয়ে শুরু হয় এবং প্যাকেজটি কী করে তা বর্ণনা করে:

// Package kelvin provides tools to convert temperatures to and from Kelvin.
package kelvin

ফাংশন ডকুমেন্ট করা কমেন্ট ফাংশনের নাম দিয়ে শুরু হয় এবং ফাংশনটি কী করে, তার আর্গুমেন্ট আর রিটার্ন ভ্যালুসহ তা বর্ণনা করে:

// CelsiusFreezingTemp returns an integer value equal to the temperature at which water freezes in degrees Celsius.
func CelsiusFreezingTemp() int {
    return 0
}

ভ্যারিয়েবল ডকুমেন্ট করা কমেন্ট ভ্যারিয়েবলের নাম দিয়ে শুরু হয় এবং ভ্যারিয়েবলটি কী বোঝায় তা বর্ণনা করে:

// TemperatureFahrenheit represents a certain temperature in degrees Fahrenheit.
var TemperatureFahrenheit float64

ডক কমেন্টের পূর্ণ স্পেসিফিকেশন জানতে Go ডকুমেন্টেশন গাইড দেখুন।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি নতুন একটি উইন্ডো বা ট্যাবে খুলবে

কমেন্ট শিখুন