Вот несколько способов создания веб-сервера 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-запросов.