О чем этот материал
Пакет time, конструкции ветвления, обработка ошибок и рабочие приемы с Git.
Это адаптированная версия учебной презентации: слайды разобраны в формате обычной статьи, чтобы материал было легче читать с телефона и возвращаться к нужным блокам позже.
Что внутри
Ниже краткий план материала. По нему удобно понять, в каком порядке разбирать тему.
- Поговорим о пакете time
- Поговорим о том когда лучше if, когда switch, когда if/else
- Предопределенные возвращаемые значения
- Wrap ошибок
- Git
- Разберем вопросы
Пакет time
Вся работа со временем
Форматы
Ещё немного
If (текст чтобы не так коротко, заголовок же)
else не нужны
switch
[-er]
if-else/switch-case
А чо когда?
if-else:
комбинации (&&, ||).
switch-case:
- Для ситуаций с ограниченным числом условий.
- Когда условия включают различные логические
- Для проверки множества конкретных значений
- Когда есть много потенциальных сценариев или
Работа с ошибками
Работа с ошибками. Нет стектрейса, но есть errors.Wrap()
"github.com/pkg/errors"
Работа с ошибками. Нет стектрейса, но есть fmt.Errorf()
Git
Основные команды
Разница merge и rebase
Определение:
Merge: Берет изменения из одной ветки и объединяет их с другой веткой в новый коммит.
- Система контроля версий
- Фактически стандарт индустрии
- git clone https://github.com/lugingf/prom_metrics_example git status git branch TASK-1-my-branch git checkout TASK-1-my-branch
- git add . git commit -m “My commit msg” git push origin HEAD git merge (rebase) branch_name_from
Git stash
Зачем? затем
не разберешь
нами потянутся
- Мы работаем над задачей, у нас куча изменений
- Приходит срочная задача - исправить баг в том же проекте
- Мы не хотим коммитить то, что есть, потому что куча говна, потом
- Мы не можем просто так переключить ветку - все изменения за
- Делаем git stash - изменения прячутся
- Переключаем ветку на другу, делаем что надо
- Коммит, пуш
- Возвращаемся к тому, над чем работали git stash apply - все спрятанные изменения снова у нас
Git
- Алиасики
Defer и Return
11