🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

গো (গোলাং) গাইড 2026: ব্যাকএন্ড এবং ক্লাউড ডেভেলপমেন্টের জন্য গো শিখুন

⏱️2 min read  ·  278 words
Go (Golang) Guide 2026: Learn Go for Backend and Cloud Development

গো (গোলাং)2026 সালে ক্লাউড অবকাঠামোতে আধিপত্য বজায় রাখে। Docker, Kubernetes, Terraform এবং বেশিরভাগ ক্লাউড-নেটিভ টুল Go-তে লেখা আছে। এর সরলতা, গতি, এবং অন্তর্নির্মিত একযোগে এটিকে API, CLI এবং মাইক্রোসার্ভিসের জন্য শীর্ষ পছন্দ করে তোলে। এই নির্দেশিকা আপনাকে দ্রুত উত্পাদনশীল করে তোলে।

কেন 2026 এ যাবেন?

  • দ্রুত সংকলন:বড় প্রকল্প সেকেন্ডের মধ্যে কম্পাইল
  • স্ট্যাটিক বাইনারি:একক ফাইল স্থাপন, কোন রানটাইম প্রয়োজন নেই
  • গোরুটিন:ন্যূনতম মেমরি সহ 10,000+ সমসাময়িক কাজ
  • স্ট্যান্ডার্ড লাইব্রেরি:HTTP সার্ভার, JSON, ক্রিপ্টো, SQL — ব্যাটারি অন্তর্ভুক্ত
  • চাকরি:ব্যাকএন্ড, DevOps এবং ক্লাউড রোলগুলির জন্য ক্রমবর্ধমান Go

গো ইনস্টল করুন

# Download and install (Linux/macOS)
wget https://go.dev/dl/go1.23.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.23.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc

# Verify
go version  # go version go1.23 linux/amd64

হ্যালো ওয়ার্ল্ড এবং প্রকল্পের কাঠামো

mkdir myapp && cd myapp
go mod init github.com/yourname/myapp

// main.go
package main

import "fmt"

func main() {
    fmt.Println("Hello, Go!")
}

go run main.go
go build -o myapp  # produces single binary

যান প্রকার এবং ভেরিয়েবল

package main

import "fmt"

func main() {
    // Short declaration
    name := "Alice"
    age  := 30
    pi   := 3.14159

    // Explicit type
    var score int = 100

    // Multiple assignment
    x, y := 10, 20

    fmt.Printf("%s is %d, pi=%.2f, score=%d, sum=%d\n",
        name, age, pi, score, x+y)
}

কার্যাবলী এবং ত্রুটি পরিচালনা

Go ফাংশন একাধিক মান প্রদান করে। ত্রুটিগুলি মান হিসাবে ফেরত দেওয়া হয়, নিক্ষেপ করা হয় না। এটি ত্রুটি পরিচালনাকে সুস্পষ্ট এবং উপেক্ষা করা অসম্ভব করে তোলে।

package main

import (
    "errors"
    "fmt"
)

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("division by zero")
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 3)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    fmt.Printf("Result: %.2f\n", result)
}

গোরুটিন এবং চ্যানেল

Goroutine হল হালকা ওজনের থ্রেড যা Go রানটাইম দ্বারা পরিচালিত হয়। চ্যানেলগুলি নিরাপদে গরউটিনের মধ্যে যোগাযোগ করে৷

package main

import (
    "fmt"
    "sync"
)

func worker(id int, wg *sync.WaitGroup) {
    defer wg.Done()
    fmt.Printf("Worker %d done\n", id)
}

func main() {
    var wg sync.WaitGroup
    for i := 1; i <= 5; i++ {
        wg.Add(1)
        go worker(i, &wg)
    }
    wg.Wait()
    fmt.Println("All workers done")
}

HTTP সার্ভার (নেট/http)

package main

import (
    "encoding/json"
    "net/http"
)

type Response struct {
    Message string `json:"message"`
    Status  int    `json:"status"`
}

func helloHandler(w http.ResponseWriter, r *http.Request) {
    w.Header().Set("Content-Type", "application/json")
    json.NewEncoder(w).Encode(Response{Message: "Hello!", Status: 200})
}

func main() {
    http.HandleFunc("/api/hello", helloHandler)
    http.ListenAndServe(":8080", nil)
}

উপসংহার

2026 সালে ব্যাকএন্ড এবং ক্লাউড ডেভেলপমেন্টের জন্য Go হল সবচেয়ে ফলপ্রসূ ভাষা। সরল বাক্য গঠন, দ্রুত বাইনারি এবং চমৎকার একযোগে। স্ট্যান্ডার্ড লাইব্রেরি দিয়ে শুরু করুন, চি বা জিনের মতো একটি রাউটার যোগ করুন এবং আপনি কয়েক সপ্তাহ নয়, কয়েক দিনে প্রোডাকশন এপিআই শিপিং করবেন।

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা