2. Кто я?
Разработчик с опытом работы в различных
сферах IT. Начиная с Web и Mobile заканчивая
серверными приложениями, распределенными БД
и DevOps. Создавал автоматическую систему
диспетчеризации заказов такси, делал сайты,
коробочные web продукты, поднимал
инфраструктуру в AWS (CoreOS stack), настраивал
автоматический deployment и обновление. Сейчас
в команде Dar Ecosystem. Занимаюсь проектом
Dar Play. Docker. Go. NoSQL.
3. Почему Go?
• Быстрая разработка
• Типо-безопасность
• Быстрая компиляция
• Эффективное использование “железа”
• Многопоточность
5. Результат тура
• С подобный синтаксис
• Компилируемый в статический бинарный файл
• Статическая типизация с неявным указанием типов
• Структурная система типов
• Горутины, каналы
• Сборщик мусора
• Нет неявных преобразований
• Интерфейсы наше все
7. Компилятор
• Создает syntax tree, проверяет его, переписывает
всякий сахар, создает объектные файлы (*.o)
• Статический бинарник, работает даже без go runtime
на любой машине со схожей архитектурой ядра
• Если А.go зависит от B.go который зависит от C.go то
• Скомпилировать С.go, B.go потом A.go
• Чтобы скомпилировать A.go нужен только B.o (в
нем уже есть С.o)