দারুণ প্রশ্ন 🙂
Golang-এ := আর = দুটোই assignment (মানে, মান সেট করা) এর জন্য ব্যবহৃত হয়, কিন্তু এদের মধ্যে খুবই গুরুত্বপূর্ণ পার্থক্য আছে👇
🔹 := → Short variable declaration
👉 এটা নতুন ভেরিয়েবল declare এবং assign — দুই কাজ একসাথে করে।
মানে, আগে declare না করা ভেরিয়েবলের জন্য এটা ব্যবহার করা হয়।
Syntax:
name := "Shakib"
age := 25
👉 এখানে Go নিজেই ধরবে যে name হলো string আর age হলো int।
❌ ভুল হবে যদি আগেই declare করা থাকে:
var name string
name := "Shakib" // Error! already declared
🔹 = → Assignment only
👉 এটা শুধু আগে declare করা variable-এ মান বসানোর জন্য ব্যবহৃত হয়।
Example:
var name string
name = "Shakib"
এখানে var name string দিয়ে variable declare করা হয়েছে,
তারপর = দিয়ে মান assign করা হয়েছে।
✅ মিক্সড Example
a := 10 // new variable declaration
b := 20
a = 15 // reassign existing variable
fmt.Println(a, b)
⚠️ ছোট টিপস
:= শুধুমাত্র function এর ভেতরে ব্যবহার করা যায়।
Package level এ (মানে, function-এর বাইরে) এটা allowed না।
package main
// a := 5 ❌ Error
var a = 5 ✅
func main() {
b := 10 // ✅ OK
fmt.Println(a, b)
}
🧠 সংক্ষেপে মনে রাখো
| অপারেটর | কাজ | কোথায় ব্যবহার হয় | উদাহরণ |
| --- | --- | --- | --- |
| := | declare + assign | শুধু function এর ভিতরে | x := 10 |
| = | শুধু assign | যেকোনো জায়গায় | x = 20 |
চাওলে আমি একটা ছোট কোড রানযোগ্য উদাহরণ দিতে পারি যেখানে দুটো একসাথে দেখাবে পার্থক্যটা — দিতে বলবে?
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন
আপনার সমস্যাটি কমেন্ট করে আমাদের জানান :-d