Язык Google Go или, как вариант, Golang в настоящее время является одним из самых быстрорастущих языков программирования в индустрии программного обеспечения. Его скорость, простота и надежность делают его идеальным выбором для всех типов разработчиков. Если вы хотите начать новый проект с использованием Golang, следующие ресурсы помогут вам в кратчайшие сроки:
- Наиболее часто используемая структура проекта среднего и крупного размера: https://github.com/golang-standards/project-layout
Хороший базовый проект для начала: https: // github.com/jasonrey/simple-go-server - Установите Go в своей системе, настройте переменные среды, изучите корневые каталоги / рабочие области: https://medium.com/rungo/working-in-go-workspace-3b0576e0534a
- Настройте файлы конфигурации и создайте сценарий для запуска сервера: этот ресурс загружает файлы конфигурации при запуске приложения только один раз. Это также хороший репозиторий, который поможет вам настроить регистрацию маршрутов и запуск сервера: https://github.com/jasonrey/simple-go-server/blob/master/pkg/helpers/config.go
- Голанг - это статический - типизированный язык. Следовательно, вам нужно будет создать тип структуры для хранения запросов, ответов и DTO. Преобразуйте тип структуры JSON в Golang с помощью этого инструмента: https://mholt.github.io/json-to-go/
- Извлеките информацию из 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 }