Язык Google Go или, как вариант, Golang в настоящее время является одним из самых быстрорастущих языков программирования в индустрии программного обеспечения. Его скорость, простота и надежность делают его идеальным выбором для всех типов разработчиков. Если вы хотите начать новый проект с использованием Golang, следующие ресурсы помогут вам в кратчайшие сроки:

  1. Наиболее часто используемая структура проекта среднего и крупного размера: https://github.com/golang-standards/project-layout
    Хороший базовый проект для начала: https: // github.com/jasonrey/simple-go-server
  2. Установите Go в своей системе, настройте переменные среды, изучите корневые каталоги / рабочие области: https://medium.com/rungo/working-in-go-workspace-3b0576e0534a
  3. Настройте файлы конфигурации и создайте сценарий для запуска сервера: этот ресурс загружает файлы конфигурации при запуске приложения только один раз. Это также хороший репозиторий, который поможет вам настроить регистрацию маршрутов и запуск сервера: https://github.com/jasonrey/simple-go-server/blob/master/pkg/helpers/config.go
  4. Голанг - это статический - типизированный язык. Следовательно, вам нужно будет создать тип структуры для хранения запросов, ответов и DTO. Преобразуйте тип структуры JSON в Golang с помощью этого инструмента: https://mholt.github.io/json-to-go/
  5. Извлеките информацию из HTTP-запроса и поместите ее в тип структуры с помощью JSON Unmarshal:
import (
   "encoding/json"
   "io/ioutil"
   "net/http"
)
type RequestBodyStruct struct {
   BookingId string `json:"booking_id"`
   ChatId    string `json:"chat_id"`
}
func ExtractRequestBody(request *http.Request) RequestBodyStruct {
   var requestBody RequestBodyStruct
   body, err := ioutil.ReadAll(request.Body)
   defer request.Body.Close()
   err = json.Unmarshal(body, &requestBody)
   if err != nil {
      return RequestBodyStruct{}
   }
   return requestBody
}