Я использую Gin, https://gin-gonic.github.io/gin/, чтобы создать простой RESTful JSON API с Golang.
Маршруты настраиваются примерно так:
func testRouteHandler(c *gin.Context) {
// do smth
}
func main() {
router := gin.Default()
router.GET("/test", testRouteHandler)
router.Run(":8080")
}
У меня вопрос: как передать аргумент функции testRouteHandler? Например, обычное соединение с базой данных может быть чем-то, что нужно повторно использовать для разных маршрутов.
Это лучший способ сделать это в глобальной переменной? Или в Go есть способ передать дополнительную переменную функции testRouteHandler? Есть ли необязательные аргументы для функций в Go?
PS. Я только начинаю изучать Go, так что может быть что-то очевидное, что мне не хватает :)