Go ka Introduction
Go (jise aksar Golang kaha jaata hai) ek compiled, garbage-collected language hai jo Google mein ek guiding principle ke saath design ki gayi: simplicity. Isme language features ka ek chhota, jaan bujh kar minimal set hai — koi classes nahi, koi exceptions nahi, by default koi generics-heavy abstractions nahi — jo codebases ko bade hone par bhi padhne mein aasaan rakhta hai.
Go code directly ek native binary mein compile hota hai, aur yeh fast compile hota hai — language ke standout traits mein se ek. Compiler aapka program run hone se pehle har type check kar leta hai, isliye ek type mismatch turant ek build error ke roop mein pakda jaata hai, runtime par ek surprise ki tarah nahi.
Go ki simplicity kyun matter karti hai
- Fast compilation — Go ko partly isliye banaya gaya tha taaki scale par ho rahe painfully slow build times solve kiye ja sakein, aur yeh aaj bhi bade codebases ko seconds mein compile kar deta hai
- Padhne mein aasaan — language features ka ek chhota set ka matlab hai ki alag alag logon ka likha Go code kaafi milta julta dikhta hai, jo bade codebases ko navigate karna aasaan banata hai
- Built-in concurrency — goroutines aur channels khud language ka hissa hain, koi bolted-on library nahi, jo concurrent code ko ek first-class citizen banate hain
- Ek hi official formatting style — gofmt ka matlab hai ki code style par koi debate nahi hoti; har Go codebase same tarike se format hota hai
Ek jaldi sa preview
Yeh raha ek real Go program, jo is page ke apne compiler par actually run hua hai — koi mockup nahi:
package main
import "fmt"
func main() {
message := "Hello from Go!"
fmt.Println(message)
}Hello from Go!
Bas itna hi — ek variable, jo := se assign kiya gaya hai, fmt.Println se print kiya gaya. Agla lesson aapka pehla poora program run karta hai aur exactly samjhaata hai ki kya ho raha hai.
Practice exercise
Ek variable version := 5 declare karo, phir "Go version:" ke baad version print karo, fmt.Println("Go version:", version) ka use karke.