সরাসরি প্রধান সামগ্রীতে চলে যান

go te := and = difference ki

দারুণ প্রশ্ন 🙂

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 |


চাওলে আমি একটা ছোট কোড রানযোগ্য উদাহরণ দিতে পারি যেখানে দুটো একসাথে দেখাবে পার্থক্যটা — দিতে বলবে?

মন্তব্যসমূহ