🐹 شرح Go

بناء خادم ويب

أبسط خادم

package main

import (
  "fmt"
  "net/http"
)

func main() {
  http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, "مرحبًا من Go")
  })
  http.ListenAndServe(":8080", nil)
}

افتح http://localhost:8080.

معالجات متعدّدة

http.HandleFunc("/about", func(w http.ResponseWriter, r *http.Request) {
  fmt.Fprintln(w, "صفحة عنّا")
})

قراءة الطلب

func handler(w http.ResponseWriter, r *http.Request) {
  method := r.Method                  // GET/POST
  name := r.URL.Query().Get("name")   // ?name=براء
}

إرجاع JSON

import "encoding/json"

func apiHandler(w http.ResponseWriter, r *http.Request) {
  w.Header().Set("Content-Type", "application/json")
  user := User{Name: "براء", Age: 25}
  json.NewEncoder(w).Encode(user)
}

التعامل مع POST

func create(w http.ResponseWriter, r *http.Request) {
  var u User
  json.NewDecoder(r.Body).Decode(&u)
  w.WriteHeader(http.StatusCreated)
}

أطر العمل

للمشاريع الكبيرة استخدم أطرًا مثل Gin أو Echo لمسارات وميدلوير أسهل.

🎯 التالي: كتابة الاختبارات.