Skip to content

02 Core Basics

Go ka syntax C jaisa hai par bahut clean hai.

1. Variables (var vs :=) ๐Ÿ“ฆ

Go me variable banane ke do tareeke hain:

// 1. Long Way
var age int = 25
// 2. Short Way (Type Inference)
name := "Aditya" // Go khud samajh jayega ye String hai

Note: := sirf function ke andar use hota hai.

2. Data Types ๐Ÿ”ข

  • int, float64 (Decimal), string, bool (True/False).
  • Go static typed hai, matlab int variable me text nahi daal sakte.

3. Control Flow (If-Else) ๐Ÿค”

Parentheses () ki zaroorat nahi hai!

age := 20
if age >= 18 {
fmt.Println("Adult")
} else {
fmt.Println("Minor")
}

4. Loops (Sirf For Loop!) ๐Ÿ”

Go me while aur do-while loops NAHI hote. Sirf for hai.

// Standard Loop
for i := 0; i < 5; i++ {
fmt.Println(i)
}
// While Loop ki tarah use karna
j := 0
for j < 5 {
fmt.Println(j)
j++
}
// Range Loop (For Arrays/Slices) ๐ŸŒŸ
fruits := []string{"Apple", "Banana"}
for index, value := range fruits {
fmt.Printf("%d: %s\n", index, value)
}

5. Arrays & Strings ๐Ÿงต

Arrays (Fixed) vs Slices (Dynamic)

  • Array: Size fix hota hai. var arr [5]int.
  • Slice: Size change ho sakta hai (Recommended). arr := []int{1, 2, 3}.

Strings

Go me Strings Immutable (change nahi hoti) aur UTF-8 encoded hoti hain.

name := "Hello"
// name[0] = 'h' // โŒ Error! Change nahi kar sakte.
length := len(name) // 5

6. Switch Case (Conditional) ๐Ÿ”€

Go ka switch powerful hai, break lagane ki zaroorat nahi hoti.

day := "Mon"
switch day {
case "Mon":
fmt.Println("Work")
case "Sat", "Sun": // Multiple cases
fmt.Println("Party")
default:
fmt.Println("Sleep")
}

7. Structs (Custom Types) ๐Ÿ—๏ธ

Classes ki jagah Go me Structs hote hain.

type Person struct {
Name string
Age int
}
func main() {
p1 := Person{Name: "Rohan", Age: 30}
fmt.Println(p1.Name)
}