Методы создания веб-сервера Go: примеры использования net/http, Gorilla mux, Gin, Echo, Chi

Вот несколько способов создания веб-сервера Go вместе с примерами кода:

Метод 1: использование пакета net/http

package main
import (
    "fmt"
    "log"
    "net/http"
)
func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprint(w, "Hello, World!")
    })
    log.Fatal(http.ListenAndServe(":8080", nil))
}

Метод 2: использование пакета мультиплексирования Gorilla

package main
import (
    "fmt"
    "log"
    "net/http"
    "github.com/gorilla/mux"
)
func main() {
    router := mux.NewRouter()
    router.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprint(w, "Hello, World!")
    })
    log.Fatal(http.ListenAndServe(":8080", router))
}

Метод 3. Использование платформы Gin

package main
import (
    "github.com/gin-gonic/gin"
    "net/http"
)
func main() {
    router := gin.Default()
    router.GET("/", func(c *gin.Context) {
        c.String(http.StatusOK, "Hello, World!")
    })
    router.Run(":8080")
}

Метод 4. Использование платформы Echo

package main
import (
    "net/http"
    "github.com/labstack/echo"
)
func main() {
    e := echo.New()
    e.GET("/", func(c echo.Context) error {
        return c.String(http.StatusOK, "Hello, World!")
    })
    e.Start(":8080")
}

Метод 5. Использование маршрутизатора Chi

package main
import (
    "fmt"
    "net/http"
    "github.com/go-chi/chi"
)
func main() {
    r := chi.NewRouter()
    r.Get("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprint(w, "Hello, World!")
    })
    http.ListenAndServe(":8080", r)
}

Это всего лишь несколько примеров. В Go доступно несколько других веб-фреймворков и библиотек. Используя любой из этих методов, вы можете создать веб-сервер Go для обработки HTTP-запросов.