
গো (গোলাং)2026 সালে ক্লাউড অবকাঠামোতে আধিপত্য বজায় রাখে। Docker, Kubernetes, Terraform এবং বেশিরভাগ ক্লাউড-নেটিভ টুল Go-তে লেখা আছে। এর সরলতা, গতি, এবং অন্তর্নির্মিত একযোগে এটিকে API, CLI এবং মাইক্রোসার্ভিসের জন্য শীর্ষ পছন্দ করে তোলে। এই নির্দেশিকা আপনাকে দ্রুত উত্পাদনশীল করে তোলে।
📋 Table of Contents
কেন 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 হল সবচেয়ে ফলপ্রসূ ভাষা। সরল বাক্য গঠন, দ্রুত বাইনারি এবং চমৎকার একযোগে। স্ট্যান্ডার্ড লাইব্রেরি দিয়ে শুরু করুন, চি বা জিনের মতো একটি রাউটার যোগ করুন এবং আপনি কয়েক সপ্তাহ নয়, কয়েক দিনে প্রোডাকশন এপিআই শিপিং করবেন।
🔗 Share this article
✍️ Leave a Comment