أبسط خادم
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 لمسارات وميدلوير أسهل.
🎯 التالي: كتابة الاختبارات.