Size: a a a

2020 June 18

E

Evgeny in Go-go!
Den D
Теперь есть типизация свойств в классе, параметров и возвращаемых значений методов. В php дженерики ждут не меньше, чем в go. Мне просто не понятно какие паттерны нельзя реализовать без дженериков
Монаду MayBe? :)
источник

ЛА

Локоть Анатолий... in Go-go!
Den D
Теперь есть типизация свойств в классе, параметров и возвращаемых значений методов. В php дженерики ждут не меньше, чем в go. Мне просто не понятно какие паттерны нельзя реализовать без дженериков
Я полностью свитчнулся из пхп когда синтаксис строгой типизации только появился  😂
источник

00

0JLQuCDQotGP0L0= 0x3... in Go-go!
сонная википедия
я не думаю что native актуально сравнивать
Ну нейтив напоминает дергание сишных библиотек
источник

E

Evgeny in Go-go!
Den D
Потому и спрашиваю про архитектуру приложения на go. Если свои решения или используются подходы из других языков.
Собираешь всегда сам под задачу. Никаких популярных стандартов на это нет.
источник

с

сонная википедия... in Go-go!
все как-то забывают что гошный тулчейн который является проектом в миллион строк собирается быстрее, чем небольшой проект на скале
источник

IK

Ilya Kaznacheev in Go-go!
Evgeny
> В go же аналог класса - это структура. Что мешает засунуть бизнес логику в структуру?
Ничего, кроме того, что ты не сможешь нормально написать достаточно универсальный код для обработки _разных_, но схожих структур. Например, у тебя есть список пользователей и список клиентов (наборы полей разные, но в чём-то схожи). Ты вряд ли сможешь обрабатывать их одинаково, без копипаста. С теми же дженериками смог бы. А в php ты можешь перечислить несколько типов через | или вообще обращаться к полям, не зная типа (что есть антипаттерн, но тем не менее).
Да, на это есть хаки, но я говорю о принципиальных вещах.

>  Какие паттерны, например? В php же тоже нет дженериков, но паттерны вполне себе реализуемы.
Читай https://habr.com/ru/company/jugru/blog/503868/, раздел про агрегаты.

> Что мешает использовать композицию вместо наследования?
Ни та, ни другая в одиночку всех проблем не решает.
Да все нормально с ООП в го. У меня есть большой монолитный проект как пример
источник

IK

Ilya Kaznacheev in Go-go!
Можно загнаться и в джава стиле писать
источник

IK

Ilya Kaznacheev in Go-go!
Вот разве что не надо
источник

ВС

Владимир Столяров... in Go-go!
сонная википедия
все как-то забывают что гошный тулчейн который является проектом в миллион строк собирается быстрее, чем небольшой проект на скале
вот +, вчера меньше чем за 5 минут скачал и сбилдил
источник

E

Evgeny in Go-go!
Ilya Kaznacheev
Да все нормально с ООП в го. У меня есть большой монолитный проект как пример
В неклассическом стиле - да, конечно.
источник

00

0JLQuCDQotGP0L0= 0x3... in Go-go!
Ilya Kaznacheev
Можно загнаться и в джава стиле писать
Интерфейсы не дадут
источник

с

сонная википедия... in Go-go!
0JLQuCDQotGP0L0= 0x3d4f22
Интерфейсы не дадут
почему
источник

с

сонная википедия... in Go-go!
если нет классов, то нет объектов что ли
источник

00

0JLQuCDQotGP0L0= 0x3... in Go-go!
Потому что в джаве ты в классе пишешь что реализуешь интерфейс
источник

IK

Ilya Kaznacheev in Go-go!
0JLQuCDQotGP0L0= 0x3d4f22
Интерфейсы не дадут
На минуточку ООП это не ключевое слово class, а определенный подход к дизайну
источник

с

сонная википедия... in Go-go!
0JLQuCDQotGP0L0= 0x3d4f22
Потому что в джаве ты в классе пишешь что реализуешь интерфейс
и?
источник

00

0JLQuCDQotGP0L0= 0x3... in Go-go!
А в го где ты пишешь?
источник

с

сонная википедия... in Go-go!
var _ myInterface = (*myInterfaceImpl)(nil)
источник

00

0JLQuCDQotGP0L0= 0x3... in Go-go!
Просто берёшь и методы реализуешь
источник

с

сонная википедия... in Go-go!
вот здесь
источник