Skip to content

04 Real Project (Web Server)

Chaliye ek simple Task API banate hain bina kisi framework ke (Standard Library).

1. Project Setup ๐Ÿ“

Terminal window
mkdir go-server
cd go-server
go mod init go-server # Go module initialize

2. Server Code (main.go) ๐Ÿ–ฅ๏ธ

package main
import (
"encoding/json"
"fmt"
"net/http"
)
// Task Structure (JSON ke liye struct tags lagaye)
type Task struct {
ID int `json:"id"`
Name string `json:"name"`
}
// Dummy Data
var tasks = []Task{
{ID: 1, Name: "Code in Go"},
{ID: 2, Name: "Eat Pizza"},
}
// Handler Functions
func getTasks(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(tasks) // Struct to JSON
}
func main() {
// Route Definition
http.HandleFunc("/tasks", getTasks)
fmt.Println("Server starting on port 8080... ๐Ÿš€")
// Server Start (Port 8080)
err := http.ListenAndServe(":8080", nil)
if err != nil {
fmt.Println("Error:", err)
}
}

3. Run & Test ๐Ÿงช

  1. Run karein: go run main.go
  2. Browser me jayen: http://localhost:8080/tasks

Output:

[
{"id": 1, "name": "Code in Go"},
{"id": 2, "name": "Eat Pizza"}
]

4. Next Steps (Improvement) ๐Ÿ“ˆ

Ab aap isme ye features add kar sakte hain:

  1. POST Method: Naya task add karna (http.MethodPost check karein).
  2. Database: MongoDB ya Postgres connect karein.
  3. Framework: Badi apps ke liye Gin ya Fiber use karein.

๐ŸŽ‰ Congratulations! Aapne Go seekh li aur Project bhi bana liya.