{"version":1,"pages":[{"id":"1FWlvPhEUpj4EnRyi0wO","title":"Изучайте Go с помощью тестов","pathname":"/lgwt","siteSpaceId":"sitesp_q89SG","lang":"ru","description":""},{"id":"synx5152CY8XXPLFQh6r","title":"Установка Go","pathname":"/lgwt/osnovy-go/install-go","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"DVl29zWUFPqAXqcYN98Q","title":"Hello, World","pathname":"/lgwt/osnovy-go/hello-world","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"SjEb282637BpFITKsUYN","title":"Целые числа","pathname":"/lgwt/osnovy-go/integers","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"f8vrgwP7BEC8SdYIy4ze","title":"Итерация","pathname":"/lgwt/osnovy-go/iteration","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"2C3gXv7GlLJIp0BA3oDG","title":"Массивы и срезы","pathname":"/lgwt/osnovy-go/arrays-and-slices","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"cUR856TYuD5QweU6zK4y","title":"Структуры, методы и интерфейсы","pathname":"/lgwt/osnovy-go/structs-methods-and-interfaces","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"MMc8yDbAm4IRbif5VThQ","title":"Указатели и ошибки","pathname":"/lgwt/osnovy-go/pointers-and-errors","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"Z57hk9rFDf0pe0wfTdaZ","title":"Отображения (Maps)","pathname":"/lgwt/osnovy-go/maps","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"AOl5hXhUpIC4JvqPYODK","title":"Внедрение зависимостей","pathname":"/lgwt/osnovy-go/dependency-injection","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"m6Wk88T1ZVMbKzm9VFZM","title":"Мокирование","pathname":"/lgwt/osnovy-go/mocking","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"3s5gmfTcceAQfulG2qCl","title":"Конкурентность","pathname":"/lgwt/osnovy-go/concurrency","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"fqnRjtPHBhWenAii8gop","title":"Select","pathname":"/lgwt/osnovy-go/select","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"yw89cGA6pIXafuAsNI1W","title":"Рефлексия","pathname":"/lgwt/osnovy-go/reflection","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"Vz7CssDNF52I3eKG3dhL","title":"Sync","pathname":"/lgwt/osnovy-go/sync","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"bPRejX7D72LnDiZteJgf","title":"Контекст","pathname":"/lgwt/osnovy-go/context","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"KV1E2WLxD8l72jvjbEoL","title":"Введение в тестирование на основе свойств","pathname":"/lgwt/osnovy-go/roman-numerals","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"9baK52YTftYOErqrVFwZ","title":"Математика","pathname":"/lgwt/osnovy-go/math","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"wXlXMkvKO2CxRoOUh9e2","title":"Чтение файлов","pathname":"/lgwt/osnovy-go/reading-files","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"LL8yVmxrnjiAqAYyG0Vf","title":"Шаблонизация","pathname":"/lgwt/osnovy-go/html-templates","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"qD3sQgVWV7svMvyqIi31","title":"Дженерики","pathname":"/lgwt/osnovy-go/generics","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"ZPoRmqznDF1CqCLE9Iih","title":"Пересмотр массивов и срезов с дженериками","pathname":"/lgwt/osnovy-go/revisiting-arrays-and-slices-with-generics","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы Go"}]},{"id":"maJCWLdqUjHOdkFkaLSn","title":"Введение в приемочное тестирование","pathname":"/lgwt/osnovy-testirovaniya/intro-to-acceptance-tests","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы тестирования"}]},{"id":"6cF2RXro6JVCAKEBYCVC","title":"Масштабирование приемочных тестов","pathname":"/lgwt/osnovy-testirovaniya/scaling-acceptance-tests","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы тестирования"}]},{"id":"xZd0EIWtk92d9fA9GaP1","title":"Работа без моков","pathname":"/lgwt/osnovy-testirovaniya/working-without-mocks","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы тестирования"}]},{"id":"htQAdhEZtlEgYUwGi91b","title":"Контрольный список для рефакторинга","pathname":"/lgwt/osnovy-testirovaniya/refactoring-checklist","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Основы тестирования"}]},{"id":"Z8YScSpUbefKLPuiTCYp","title":"Введение","pathname":"/lgwt/sozdanie-prilozheniya/app-intro","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Создание приложения"}]},{"id":"a9Gt0t8ckzANP5PvCD7g","title":"HTTP-сервер","pathname":"/lgwt/sozdanie-prilozheniya/http-server","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Создание приложения"}]},{"id":"kXOpSQyvAtAoqnzMlXVy","title":"JSON, маршрутизация и встраивание","pathname":"/lgwt/sozdanie-prilozheniya/json","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Создание приложения"}]},{"id":"jhTeiRMsLinECbqvAOs9","title":"Ввод-вывод и сортировка","pathname":"/lgwt/sozdanie-prilozheniya/io","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Создание приложения"}]},{"id":"y3Q7KBkRiZ7feMYGHsf3","title":"Командная строка и структура пакета","pathname":"/lgwt/sozdanie-prilozheniya/command-line","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Создание приложения"}]},{"id":"MjJnJcBEDg2xOK7NE7k3","title":"Время","pathname":"/lgwt/sozdanie-prilozheniya/time","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Создание приложения"}]},{"id":"RnAApmsTNlLd7dA29HzR","title":"Пересмотр работы со временем с помощью testing/synctest","pathname":"/lgwt/sozdanie-prilozheniya/revisiting-time-with-synctest","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Создание приложения"}]},{"id":"sD3j7flOy6KId9hwZLv7","title":"Веб-сокеты","pathname":"/lgwt/sozdanie-prilozheniya/websockets","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Создание приложения"}]},{"id":"wHp6ZJoQwuRWeFw1sLQX","title":"Запуск внешних программ (OS Exec)","pathname":"/lgwt/voprosy-i-otvety/os-exec","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Вопросы и ответы"}]},{"id":"6Gu9SWpNSTbbSDw7OuHZ","title":"Типы ошибок","pathname":"/lgwt/voprosy-i-otvety/error-types","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Вопросы и ответы"}]},{"id":"frG6VjNEdfJ5JqFH636e","title":"Reader, учитывающий контекст","pathname":"/lgwt/voprosy-i-otvety/context-aware-reader","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Вопросы и ответы"}]},{"id":"uzS4U62bDyALhTcHrM1g","title":"Пересмотр HTTP-обработчиков","pathname":"/lgwt/voprosy-i-otvety/http-handlers-revisited","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Вопросы и ответы"}]},{"id":"X9TpjWF4Kx7beoOjepuC","title":"Зачем нужны модульные тесты и как заставить их работать на вас","pathname":"/lgwt/dopolnitelno/why","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Дополнительно"}]},{"id":"e9hj5oFT2BdKGhekkfif","title":"Антипаттерны","pathname":"/lgwt/dopolnitelno/anti-patterns","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Дополнительно"}]},{"id":"TcziY19ZA8IqoaJBslKp","title":"Участие в разработке","pathname":"/lgwt/dopolnitelno/contributing","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Дополнительно"}]},{"id":"CJKMoTr3GmYuiqFZuXQ4","title":"Шаблон главы","pathname":"/lgwt/dopolnitelno/template","siteSpaceId":"sitesp_q89SG","lang":"ru","description":"","breadcrumbs":[{"label":"Дополнительно"}]}]}