ऑनलाइन Golang कंपाइलर - तुरंत Go कोड चलाएं और टेस्ट करें

हमारे मुफ्त ऑनलाइन Go कंपाइलर के साथ अपने ब्राउज़र में तुरंत Golang कोड लिखें, कंपाइल करें और चलाएं। सीखने, त्वरित परीक्षण और इंटरव्यू प्रैक्टिस के लिए बिल्कुल सही — कोई सेटअप या इंस्टॉलेशन की आवश्यकता नहीं।

💡 शुरुआती लोगों के लिए Go बेसिक्स गाइड

1. वेरिएबल्स और कॉन्स्टेंट्स घोषित करना

वेरिएबल्स घोषित करने के लिए var या := का उपयोग करें। कॉन्स्टेंट्स के लिए const का उपयोग करें।

package main

var x int = 10
const Pi = 3.14

func main() {
    name := "Alice"
    isActive := true
    println(x, Pi, name, isActive)
}

2. कंडीशनल्स (if / switch)

Go if-else और switch स्टेटमेंट्स को साफ-सुथरे सिंटैक्स के साथ सपोर्ट करता है।

x := 2
if x == 1 {
    println("One")
} else if x == 2 {
    println("Two")
} else {
    println("Other")
}

switch x {
case 1:
    println("One")
case 2:
    println("Two")
default:
    println("Other")
}

3. लूप्स

Go केवल for लूप का उपयोग करता है, लेकिन यह एक while लूप की तरह काम कर सकता है।

for i := 0; i < 3; i++ {
    println(i)
}

n := 3
for n > 0 {
    println(n)
    n--
}

4. एरेज़

एरेज़ का आकार निश्चित होता है। डायनामिक सूचियों के लिए स्लाइस का उपयोग करें।

var nums = [3]int{10, 20, 30}
println(nums[1])

5. स्लाइस मैनिपुलेशन

स्लाइस और बिल्ट-इन append, len, copy, और स्लाइसिंग सिंटैक्स का उपयोग करें।

fruits := []string{"apple", "banana"}
fruits = append(fruits, "cherry")
fruits = fruits[1:]  // स्लाइस
println(len(fruits))

for _, fruit := range fruits {
    println(fruit)
}

6. कंसोल इनपुट/आउटपुट

fmt.Print, fmt.Scan, और fmt.Println का उपयोग करें।

import "fmt"

var name string
fmt.Print("अपना नाम दर्ज करें: ")
fmt.Scan(&name)
fmt.Println("नमस्ते", name)

7. फंक्शन्स

फंक्शन्स को func के साथ घोषित किया जाता है और ये एक से अधिक मान लौट सकते हैं।

func greet(name string) string {
    return "Hello, " + name
}

message := greet("Alice")
println(message)

8. मैप्स

मैप्स कुंजी-मूल्य स्टोर होते हैं। make() के साथ घोषित करें।

ages := map[string]int{"Alice": 30}
ages["Bob"] = 25
println(ages["Alice"])

9. एरर हैंडलिंग

Go अपवादों के बजाय त्रुटियों के लिए कई रिटर्न मानों का उपयोग करता है।

import "errors"

func fail() error {
    return errors.New("कुछ गलत हो गया")
}

err := fail()
if err != nil {
    println(err.Error())
}

10. फाइल I/O

फाइलें पढ़ने/लिखने के लिए os और io/ioutil पैकेज का उपयोग करें।

import (
  "fmt"
  "os"
  "io/ioutil"
)

ioutil.WriteFile("file.txt", []byte("Hello File"), 0644)

data, _ := ioutil.ReadFile("file.txt")
fmt.Println(string(data))

11. स्ट्रिंग मैनिपुलेशन

स्ट्रिंग ऑपरेशन्स के लिए strings पैकेज का उपयोग करें।

import "strings"

text := "  Hello World  "
println(strings.TrimSpace(text))
println(strings.ToUpper(text))
println(strings.ReplaceAll(text, "Hello", "Hi"))

words := strings.Split(text, " ")
fmt.Println(words)

12. स्ट्रक्चर्स और ऑब्जेक्ट्स

कस्टम प्रकारों को परिभाषित करने के लिए स्ट्रक्चर्स का उपयोग करें जिनमें मेथड्स होते हैं।

type Person struct {
  Name string
}

func (p Person) Greet() string {
  return "Hi, I'm " + p.Name
}

p := Person{Name: "Alice"}
println(p.Greet())

13. रेफरेंसेस (पॉइंटर्स)

Go * और & का उपयोग करके पॉइंटर्स को सपोर्ट करता है।

x := 10
ptr := &x
*ptr = 20
println(x) // 20