Go Programming Language-এর ২৫টি কিওয়ার্ডের সহজ বাংলা ব্যাখ্যা

Go (Golang)-এ এই কিওয়ার্ডগুলো ভাষার বিভিন্ন ফিচার এবং নিয়মকে পরিচালিত করতে ব্যবহৃত হয়। 1. break কাজ: লুপ বা switch স্টেটমেন্ট থেকে বের হতে ব্যবহার করা হয়। উদাহরণ: for i := 0; i

Jan 18, 2025 - 13:05
Go Programming Language-এর ২৫টি কিওয়ার্ডের সহজ বাংলা ব্যাখ্যা

Go (Golang)-এ এই কিওয়ার্ডগুলো ভাষার বিভিন্ন ফিচার এবং নিয়মকে পরিচালিত করতে ব্যবহৃত হয়।

1. break

  • কাজ: লুপ বা switch স্টেটমেন্ট থেকে বের হতে ব্যবহার করা হয়।
  • উদাহরণ:
for i := 0; i < 10; i++ {
    if i == 5 {
        break // লুপ থেকে বের হয়ে যাবে।
    }
}

2. case

  • কাজ: switch স্টেটমেন্টের নির্দিষ্ট মান অনুযায়ী কাজ করতে ব্যবহৃত হয়।
  • উদাহরণ:
switch day {
case "Monday":
    fmt.Println("Start of the week")
case "Friday":
    fmt.Println("Weekend is near!")
}

3. chan

chan বা চ্যানেল Go প্রোগ্রামে গোরুটিন (goroutines) এর মধ্যে ডেটা আদান-প্রদানের জন্য ব্যবহৃত হয়। এটি প্রোগ্রামে concurrency পরিচালনা করার একটি উপায়।

  • কাজ:

গোরুটিনের মধ্যে যোগাযোগ:

  • চ্যানেলের মাধ্যমে একটি গোরুটিন থেকে অন্য গোরুটিনে ডেটা পাঠানো যায়।
  • এটি synchronize করা হয়, অর্থাৎ এক গোরুটিন থেকে ডেটা পাঠানো হলে অন্য গোরুটিন ডেটা না নেওয়া পর্যন্ত প্রোগ্রাম অপেক্ষা করবে।

ডেটা শেয়ারিং:

  • চ্যানেলের মাধ্যমে এক গোরুটিন থেকে ডেটা অন্য গোরুটিনে শেয়ার করা হয়।

কোথায় ব্যবহার করব?

যখন একাধিক গোরুটিন কাজ করছে এবং তাদের মধ্যে ডেটা আদান-প্রদান করতে হবে। যেমন: ডেটা প্রোডিউসার ও কনজিউমারের মধ্যে যোগাযোগ।

  • উদাহরণ:
package main

import "fmt"

func main() {
    c := make(chan int) // চ্যানেল তৈরি

    // একটি গোরুটিন চালু
    go func() {
        c <- 42 // চ্যানেলে 42 পাঠানো
    }()

    // চ্যানেল থেকে ডেটা নেওয়া
    value := <-c
    fmt.Println(value) // আউটপুট: 42
}

কেন ব্যবহার করব?

  • সহজে গোরুটিনের মধ্যে ডেটা শেয়ার করার জন্য।
  • ডেডলক বা রেস কন্ডিশন এড়াতে।
  • প্রোগ্রামের কার্যক্ষমতা বাড়াতে।

4. const

  • কাজ: স্থায়ী মান বা পরিবর্তনহীন ভেরিয়েবল ঘোষণা করতে।
  • উদাহরণ:
const pi = 3.14

5. continue

  • কাজ: লুপের বর্তমান ইটারেশন বাদ দিয়ে পরবর্তী ইটারেশন চালু করতে।
  • উদাহরণ:
for i := 0; i < 10; i++ {
    if i%2 == 0 {
        continue // জোড় সংখ্যা এড়িয়ে যাবে।
    }
}

6. default

  • কাজ: switch স্টেটমেন্টে কোনো কেস ম্যাচ না হলে ডিফল্ট কাজ করতে।
  • উদাহরণ:
switch value {
case 1:
    fmt.Println("One")
default:
    fmt.Println("Default case")
}

7. defer

  • কাজ: ফাংশনের কাজ শেষ হওয়ার পর একটি নির্দিষ্ট কাজ করার জন্য।
  • উদাহরণ:
defer fmt.Println("This will run last")
fmt.Println("This will run first")

8. else

  • কাজ: if স্টেটমেন্টের সাথে একটি বিকল্প শর্ত যোগ করতে।
  • উদাহরণ:
if x > 10 {
    fmt.Println("Greater than 10")
} else {
    fmt.Println("Less or equal to 10")
}

9. fallthrough

  • কাজ: switch স্টেটমেন্টে একটি কেসের পরের কেসে যাওয়ার জন্য।
  • উদাহরণ:
switch value {
case 1:
    fmt.Println("Case 1")
    fallthrough
case 2:
    fmt.Println("Case 2")
}

10. for

  • কাজ: লুপ তৈরি করতে।
  • উদাহরণ:
for i := 0; i < 5; i++ {
    fmt.Println(i)
}

11. func

  • কাজ: একটি ফাংশন তৈরি করতে।
  • উদাহরণ:
func greet(name string) {
    fmt.Println("Hello", name)
}

12. go

  • কাজ: গোরুটিন চালু করতে।
  • উদাহরণ:
go greet("World")

13. goto

  • কাজ: প্রোগ্রামে একটি নির্দিষ্ট লেবেলে যাওয়ার জন্য।
  • উদাহরণ:
goto End
fmt.Println("This will be skipped")
End:
    fmt.Println("End of program")

14. if

  • কাজ: শর্ত পরীক্ষা করতে।
  • উদাহরণ:
if x > 0 {
    fmt.Println("Positive number")
}

15. import

  • কাজ: অন্য প্যাকেজ আমদানি করতে।
  • উদাহরণ:
import "fmt"

16. interface

  • কাজ: ডেটা টাইপ বা পদ্ধতি সংজ্ঞায়িত করতে।
  • উদাহরণ:
type Shape interface {
    Area() float64
}

17. map

  • কাজ: কি-ভ্যালু পেয়ার সংরক্ষণ করতে।
  • উদাহরণ:
m := map[string]int{"one": 1, "two": 2}

18. package

  • কাজ: কোড সংগঠিত করতে।
  • উদাহরণ:
package main

19. range

  • কাজ: একটি লুপে আইটেমের উপর কাজ করতে।
  • উদাহরণ:
for index, value := range nums {
    fmt.Println(index, value)
}

20. return

  • কাজ: ফাংশন থেকে মান ফেরত দিতে।
  • উদাহরণ:
func add(a, b int) int {
    return a + b
}

21. select

  • কাজ: চ্যানেল থেকে ডেটা পড়ার জন্য।
  • উদাহরণ:
select {
case msg := <-ch:
    fmt.Println(msg)
default:
    fmt.Println("No message")
}

22. struct

  • কাজ: একটি কাস্টম ডেটা টাইপ তৈরি করতে।
  • উদাহরণ:
type Person struct {
    Name string
    Age  int
}

23. switch

  • কাজ: একাধিক শর্ত পরীক্ষা করতে।
  • উদাহরণ:
switch x {
case 1:
    fmt.Println("One")
case 2:
    fmt.Println("Two")
}

24. type

  • কাজ: নতুন টাইপ তৈরি করতে।
  • উদাহরণ:
type Age int

25. var

  • কাজ: ভেরিয়েবল ঘোষণা করতে।
  • উদাহরণ:
var x int = 10