конца понимаю, что они из себя представляют и следовательно не понимаю, где используются.
Собственно, что они из себя представляют и где используются?
у тебя есть какая-то функция, которая аргументом принимает структуру и использует ее методы. Чтобы не зависеть от этой структуры (не импортировать пакет, где она лежит) ты тип аргумента делаешь интерфейсом, в котором перечисляешь какие методы тебе нужны от структуры. И спокойно передаешь структуру в функцию
спасибо, лучше понял. Чтобы убедиться: получается, интерфейсы в го выполняют роль implements в расте? pub fn notify(item: &impl Summary) { println!("Breaking news! {}", item.summarize()); }
не знаю, как в расте
Питон знаете? Вот там протоколы есть. Это по сути аналог интерфейсов в go
про протоколы не слышал, что почитать?
aбстрактные классы без имплементированных методов ой я питон случайно уронил сейчас подниму
Ну ты конечно приколист
Еще рекомендую про solid почитать. И можете сразу примеры на го искать. Станет понятнее в целом, зачем нужны интерфейсы и вот эти все чистые и пр. архитектуры
Да, лучше 80% практики, быстрее понимания дойдет
Если спрашиваете про интерфейсы, то не знаете)
хехе. Ну, видимо
Обсуждают сегодня