Оригинальный автор, публичный аккаунт [программист чтение], прошу обратить внимание на паблик-аккаунт, просьба указывать источник перепечатываемой статьи.
Хотя стандартная библиотека Gonet/http
Он обеспечивает очень мощную поддержку разработки веб-приложений с помощью Go, но для команд, которые хотят быстро разрабатывать и запускать проекты, лучше использовать веб-фреймворк.
В сообществе Go есть много отличных веб-фреймворков, таких какGin
,Iris
,Echo
,Martini
,Revel
и разработан китайцамиBeego
Рамка.
Преимущества Джина
- быстро: на основе
Radix
Производительность маршрутизации по дереву очень высока. - Поддержка промежуточного программного обеспечения: существует множество встроенных промежуточного программного обеспечения, таких как
Logger
,Gzip
,Authorization
Ждать. - Восстановление после сбоя: сбой программы, вызванный паникой, может быть обнаружен, чтобы веб-служба всегда могла работать.
- Проверка JSON: можно проверить запрос
JSON
Формат данных. - Группировка маршрутизации: поддерживает группировку маршрутизации (
RouteGroup
), что упрощает организацию маршрутов. - Механизм управления ошибками: может собирать ошибки в программе
- Несколько методов рендеринга данных: поддержка
HTML
,JSON
,YAML
,XML
и другие ответы формата данных. - Расширяемость: промежуточное ПО очень легко расширяется.
- Средство проверки данных: средство проверки данных поддерживается и может быть настроено.
установка и использование
Последняя версия ДжинаV1.3.0
, процесс установки очень простой, но перед установкой Gin необходимо установитьGo1.6
или выше (для последующих версий может потребоватьсяGo1.8
или выше), ниже описаны два метода установки.
прямая установка
$ go get -u github.com/gin-gonic/gin //使用-u安装最新版本
Установить с Говендором
Совет: Govendor — это инструмент управления зависимостями для разработки проектов Go с использованием языка Go.
- Установить Говендор
$ go get github.com/kardianos/govendor
- Установить Джин
$ govendor init
$ govendor fetch github.com/gin-gonic/gin@v1.3
Простой пример
После установки Gin двумя указанными выше способами давайте рассмотрим простой пример, чтобы увидеть, как использовать Gin для разработки веб-приложений.
import "github.com/gin-gonic/gin"
func main(){
r := gin.Default()
r.GET("/test",func(c *gin.Context){
c.JSON(200,gin.H{"hello":"world"})
})
r.Run()
}
Как видите, использование gin для разработки веб-сервиса — очень простое дело, которое можно просто разложить на четыре шага:
1. Импортируйте пакет джина
Когда мы установили инфраструктуру Gin, пакет gin был установлен локально, если вы используетеgo get
установлена команда, путь к пакету$GOPATH/src/github.com/gin-gonic/gin
, и нам нужно использовать толькоimport
Команды могут быть введены в пакет.
import "github.com/gin-gonic/gin"
2. Создайте маршрут
Использование метода gin.Default() вернет экземпляр gin.Engine, который представляет механизм маршрутизации по умолчанию.
r := gin.Default()
Созданный таким образом gin.Engine по умолчанию будет использовать ПО промежуточного слоя Logger и Recovery.Можно использовать метод gin.New() для создания маршрута по умолчанию, который не содержит ПО промежуточного слоя.
r := gin.New()
3. Определите метод для обработки HTTP
С маршрутом по умолчанию мы можем создавать методы для обработки HTTP-запросов, используя метод GET в примере:
r.GET("/test",func(c *gin.Context){
c.JSON(200,gin.H{"hello":"world"})
})
Gin поддерживает все распространенные методы HTTP-запросов:GET
,POST
,PUT
,PATCH
,OPTIONS
,HEAD
,DELETE
, который используется так же, как в приведенном выше примере, например POST:
r.POST("/test",func(c *gin.Context){
c.JSON(200,gin.H{"hello":"world"})
})
Каждый метод обрабатывает только соответствующий HTTP-запрос, а метод Any может обрабатывать любой HTTP-запрос.
r.Any("/test",func(c *gin.Context){
c.JSON(200,gin.H{"hello":"world"})
})
4. Порт прослушивания
После определения запроса используйте метод Run() для прослушивания порта и начала приема HTTP-запросов.Если метод Run() не передает параметры, порт прослушивания по умолчанию — 8080.
r.Run() //r.Run(":3000")
резюме
Gin — это облегченный фреймворк для веб-разработки на Go.Он также очень прост в использовании и легок в использовании.Однако, прежде чем использовать Gin для разработки, вам все равно необходимо понять net/http, изначально поддерживаемый Go.
Ваше внимание — самое большое поощрение на моем писательском пути!