> For the complete documentation index, see [llms.txt](https://golang.howtocode.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://golang.howtocode.dev/variables.md).

# ভ্যারিয়েবলস

গো তে ভ্যারিয়েবল গুলো এক্সপ্লিসিটলি ডিফাইন করে দিতে হয়। এজন্য একে স্ট্যাটিকালি টাইপ ল্যাঙ্গুয়েজ বলে। `var` কিওয়ার্ডটি ব্যবহার করে আমরা এক বা একাধিক ভ্যারিয়েবল ডিফাইন করতে পারি। এই কিওয়ার্ডটির পর ভ্যারিয়েবল এর নাম এবং তারপর টাইপ নির্দেশ করতে হয়। টাইপের জন্য আমরা আগের অধ্যায়ে যেসব টাইপ শিখেছি সেগুলো ব্যবহার করি।

একই টাইপের একাধিক ভ্যারিয়েবল কমা দিয়ে সেপারেট করে দিয়ে সবগুলোকে একই সাথে ডিফাইন করা সম্ভব। এছাড়া যদি আমরা টাইপ উহ্য রাখি সেক্ষেত্রে গো ভ্যালু থেকে টাইপ অনুমান করে নেয়। এছাড়া শর্টহ্যান্ড সিনট্যাক্স ব্যবহার করে `var` কিওয়ার্ড ও টাইপ ডিক্লেয়ারেশন ছাড়াই ভ্যারিয়েবল তৈরি করা সম্ভব।

নিচের কোড ব্লকে আমরা ভ্যারিয়েবল সংশ্লিষ্ট কিছু উদাহরণ দেখবো:

```go
package main

import "fmt"

func main() {

    // `var` এর মাধ্যমে আমরা এক বা একাধিক ভ্যারিয়েবল তৈরি করতে পারি
    var a string = "initial"
    fmt.Println(a)

    // এক সাথে অনেকগুলো ভ্যারিয়েবল ও ডিফাইন করা সম্ভব 
    var b, c int = 1, 2
    fmt.Println(b, c)

    // টাইপ উল্লেখ না করলে গো নিজে থেকেই টাইপ অনুমান করে নেয়
    var d = true
    fmt.Println(d)

    // ভ্যালু না দেওয়া থাকলে "জিরো ভ্যালু" ধরে নেওয়া হয়
    var e int
    fmt.Println(e)

    // শর্টহ্যান্ড `:=` সিনট্যাক্স ব্যবহার করে টাইপ ছাড়াই 
    // ভ্যারিয়েবল ডিফাইন ও ডিক্লেয়ার করা যায়
    f := "short"
    fmt.Println(f)
}
```

আউটপুট:

```
initial
1 2
true
0
short
```
