Go: теория · часть 2 — ООП, интерфейсы, ошибки