Чек-лист самопроверки
Чек-лист самопроверки
- Что такое Go и для каких задач он предназначен?
- Кто создал язык Go и когда он был представлен?
- Какие ключевые принципы легли в основу дизайна Go?
- Как происходит компиляция Go-программы?
- Что такое GOPATH и чем он отличается от Go Modules?
- Как инициализировать модуль в Go?
- Как добавить внешнюю зависимость в проект?
- Какие есть примитивные типы данных в Go?
- В чём разница между
int,int32,int64? - Как объявляются переменные (
var,:=)? - Что такое нулевые значения в Go?
- Как работают константы и
iota? - Какие есть составные типы (
array,slice,map,struct)? - В чём разница между массивом и срезом?
- Как создать и изменить срез?
- Что такое ёмкость (
cap) и длина (len) среза? - Как работают карты (
map) и как их инициализировать? - Что такое структуры (
struct) и как к ним обращаться? - Можно ли определять методы у структур?
- Поддерживает ли Go наследование? Если нет, то как достигается повторное использование кода?
- Что такое встраивание (
embedding) и как оно работает? - Как работают указатели в Go и чем они отличаются от C++?
- Что такое интерфейсы в Go и как они реализуются?
- Может ли тип реализовывать интерфейс неявно?
- Что такое пустой интерфейс (
interface{}) и когда его стоит использовать? - Как работают функции: параметры, возвращаемые значения, именованные результаты?
- Может ли функция возвращать несколько значений?
- Как обрабатываются ошибки в Go?
- Что такое
errorи как создавать пользовательские ошибки? - Что такое
deferи в каком порядке выполняются отложенные вызовы? - Как работают паника (
panic) и восстановление (recover)? - Что такое горутины и как их запускать?
- Что такое каналы (
channel) и какие виды бывают (буферизованные/небуферизованные)? - Как закрыть канал и как проверить, закрыт ли он?
- Что такое
selectи как он используется с каналами? - Как избежать состояния гонки при работе с общими данными?
- Какие примитивы синхронизации есть в пакете
sync(Mutex,WaitGroup,Once)? - Что такое пакет и как организована структура проекта?
- Как писать unit-тесты в Go?
- Как запустить тесты и получить покрытие кода?
- Что такое примеры (
Example-функции) и как они используются? - Как работает маршрутизация HTTP-запросов во встроенном пакете
net/http? - Как запустить HTTP-сервер?
- Как обрабатывать JSON в Go (
encoding/json)? - Как сериализовать и десериализовать структуры?
- Как работают теги в структурах (
json:"name")? - Что такое контекст (
context.Context) и зачем он нужен? - Как передавать отмену операции или таймаут через контекст?
- Как кросскомпилировать Go-приложение под другую ОС или архитектуру?
- Какие инструменты входят в стандартный toolchain (
go build,go run,go mod,go test,gofmt)?
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Эти принципы проявляются уже на уровне архитектуры языка. Go компилируется в машинный код без промежуточного байткода, что обеспечивает выполнение, сравнимое по скорости с C/C++, при этом устраняя… Фундамент для начинающего программиста - что повторить, как работать, чего ожидать. Набор советов, правил, принципов и обычаев в разработке на этом языке. 3. Отсутствие исключений и единый стиль обработки ошибок. Возврат ошибки как второго значения — идиома Go — обеспечивает явность, но ведёт к многоуровневой прокрутке if err = nil return err . Попытки… Все эти инструменты образуют единый, согласованный рабочий процесс. Они минимизируют необходимость в сторонних утилитах, снижают порог входа для новых разработчиков и обеспечивают высокую скорость… Кавычки, точки, запятые, скобки и прочие знаки препинания. Предопределённые идентификаторы не являются ключевыми словами, но имеют специальное значение в языке. Их можно переопределить в локальной области видимости, но делать это не рекомендуется. Набор функций, которые включены в стандартную библиотеку языка. Интерфейсы в Go — это контракты на поведение. Они определяют, что объект может делать. Это смещает фокус с классификации сущностей на описание их возможностей — что соответствует духу композиционного… Go вводит конкурентность через встроенные синтаксические конструкции и правила выполнения. Ниже рассматриваются основные направления практического применения Go, объяснённые через призму его технических характеристик и требований реальных инфраструктур. Типизация, набор правил определения типа данных значений языка.Основы языка Go
Что требуется знать перед началом изучения языка программирования Go
Рекомендации по разработке на Go
История языка Go
Экосистема приложений на Go
Синтаксис и пунктуация в Go
Ключевые слова языка Go
Встроенные функции и пакеты Go
Особенности языка Go
Синтаксические конструкции Go
Области применения Go
Типы данных и объявление переменных в Go