2022 год. Смотрю ваши видео, отличное дополнение к tour of go а так же другим учебникам, что ни говори, а когда тебе разжевывают все, да еще и на русском-это прекрасно
@@GopherSchool Мужик серьёзно, в Рунете лучше инфы нету, особенно от практика, я проверил). Может в частном порядке есть возможность пообщаться в телеграмме например, заодно тебе и тем набросаю, переписываю сервак с ноды (тема как вариант, довольно болезненно переходить, ощущение что проваливаешься на уровень ниже)
искренне надеюсь что ты вернёшься. хорошо объясняешь и примеры крутые. очень мало такого материала с хорошими продакшн практиками и подачей как у тебя (да ещё и на русском). Тут очень много людей ждут твоего возвращения)
Привет! Жду следующий выпуск, надеюсь ты не забросил канал, потому что предыдущие выпуски были отличные! Хотелось бы узнать с какими реальными проектами на Go ты работаешь, какие подходы, паттерны используешь для разработки, какие актуальные пакеты, когда лучше применять / не применять конкурентность.
То есть структуру создаваемой системы удобно представлять в виде N-мерной матрицы : По иерархии мод перечисляются интерфейсы, по одной - данные (структуры например ). На пересечениях - методы реализации интерфейсов. Если сделать такой набор матриц, которые можно крутить, рассматривать и наполнять в разных срезах общей N-мерной модели, то проектирование возможно будет нагляднее и проще чем, как обычно, писать листинг... Система разработки сама выделит части, которые следует перенести в библиотеку, да и оптимизирует весь код
Автор спасибо за Ваши уроки!! Если сделаете платный курс где-нибудь на stepick - я обязательно его бы купил. Например небольшое приложение с микросервисной архитектурой с общением между микросервисами по grpc бд Postgres , JWT и т.д.
Два вечера скитаний по интернету. А за три года ничего лучше объясняющего интерфейсы в го не появилось. Спасибо! Подписался, но как понимаю канал заброшен. Ну хоть посмотрю старые видосы)
Спасибо за видео. Я новичок в гошке, и было какое-то понимание про интерфейсы тут, а вы их подтвердили и укрепили. На будущее хотелось бы информацию о взаимодействии между сервисами, хотя бы по http (curl?).
Большое спасибо за урок. Уважаемый автор, подскажите пожалуйста, как сделать тоже самое, только разделив интерфейсы на пакеты и потом иметь доступ ко всем дочерним пакетам с одного родительского пакета (интерфейса). Все не могу разобраться в логике. Например есть главный интерфейс Animal, который имеет 2 дочерних интерфейса в каждом из которых определенные методы. А под главным интерфейсом есть структуры Cat и Dog, которые имеют те самые 2 дочерних интерфейса и каждая структура реализует нужные методы. Не могу понять, как построить это не в одном файле, как у вас в примерах, а разделив на пакеты. Где Animal главный пакет, а Cat и Dog два дочерних пакета. Буду очень признателен.
Так и не понял, зачем нужны интерфейсы, а почему? Потому что надо было бы показать рядом, чтобы мы делали БЕЗ них, тогда в сравнении стало бы видно, зачем нужны интерфейсы. Сейчас у меня непонимание: зачем нужна лишняя прокладка в виде интерфейса, если есть методы? Метод точно так же может обращаться к полям структуры, вынимать оттуда значения и работать с ними. Метод это ведь уже универсальная сущность, в которую можно "заряжать" поочередно параметры, и получать результаты. Объекты эти держать можно в срезе, а листать циклом for-range. Так зачем же все-таки нужны интерфейсы?..
9:34 why not use just this: func main() { var c animal = &cat{} var e bird = &eagle{} c.walk() e.walk() } instead of this function: func walk(w walker) { w.walk() } ...it is confusing ...
Сложно сказать, надо смотреть на конкретный код. Но в общем случае интерфейс удобно возвращать тогда, когда результат функции может варьироваться. Например, если это какая-нибудь фабрика. Другой пример, это когда наша ф-ия возвращает ошибку (`func blah() error {}`). Тип `error` - это как раз интерфейс из одного метода `Error()`. Это позволяет по сути создавать и возвращать из функции свои типы ошибок.
Надеюсь, что ты вернешься к нам с новым видео-уроком и расскажешь что нибудь интересное, очень ждем тебя. Ты же на руби пишешь? Может и там контент интересный есть.
У меня последнее время что-то какой-то ступор с идеями для видео ¯\_(ツ)_/¯ может стоит создать опрос на канале, и люди сами расскажут, что им интересно. Насчет руби я тоже думал, но тут наверно надо на другом канале это делать
@@GopherSchool хорошая идея с опросом, да и не обязательно делать второй канал, можно в плейлисты сортировать просто языки. А так, очень ждем интересностей. Сам щас дипломную работу буду начинать на golang, хотелось бы чего нибудь узнать нового, каких то решений. Удачи тебе!
@@GopherSchool всем будут полезны и интересны конкретные кейсы и примеры решения с объяснением разных рабочих задач, а также примеры реализации разных простых сетевых сервисов. Именно практические кейсы и реализации по шагам с объяснениями.
@@rolsonalister3052 Наоборот, в работе снова появился Go, и есть несколько идей для видео, планирую в обозримом будущем записать новые видео) Главное, чтобы не забанили ютуб)
@@GopherSchool , а вот это уже отличные новости! Будем с нетерпением ждать) Если ютуб забанят, - поищите альтернативные площадки) Главное - оповестите нас об этом в случае чего, например, в телеграмме Вашем)
Автор делал отличный контент!!! Если автор ещё жив и смотрит уведомления о новом комментарии - автор, сделай подписку платную, мне не жалко за проделанную работу тебе денег кидать каждый месяц. Глядишь, таких как я наберётся человек 1000 и автор почувствует мотивацию вернуться к созданию годного контента
@@GopherSchool посоветовать конкретику не могу, но сам лично подписан на два канала в ютубе, где выступаю спонсором(ютуб даёт прикрутить такой функционал у себя программно): там на выбор несколько вариантов обычно: 49 руб/мес, 250-300 руб/мес и для состоятельных парней 100500 рублей/мес. На каждом уровне свои плюшки - доступ к спец контенту, закрытый чат, личное кураторство и т.д. Можно прикрутить заглавный ролик, где попросить заинтересованных подписываться как спонсоры, чтобы автор был более мотивирован продолжать начатое. Восторженных комментариев хватает, думаю всё получится
@@MichailMishutkin Спасибо, звучит интересно, надо будет разобраться с этим делом :) Хотя мне конечно как-то неудобно брать за видео деньги, сразу ответственность какая-то возникает)
@@GopherSchool добровольное спонсорство и продажи это всё таки про разное, годный контент надо поддерживать (иначе всё превратиться в 10 фактов о RESTapi с обнажёнкой на превью), и делать автора независимым в прямом смысле. Только в моей группе по Go со мной учится 271 человек, если мы уж заплатили по 70-100 тыс за среднего качества контент начального уровня, то уж за толковый, который нужен уже для устройства на работу и/или стажировку - 100-200 руб. в месяц это не плата, это слёзы благодарности)))
Парень вернись! Такого контента нет в СНГ и не будет ещё долго, кто нам ещё расскажет про grpc и прочие классные штуки?)) Давай мы тебе поможем и подкинем несколько классных идей для видео! 1) Часто говорят про fasthttp фреймворк для go, якобы он в 10 раз быстрее обычного net/http, но максимум, что удаётся найти по нему это hello world. Его вообще кто-то использует в реальных проектах? И так ли он хорош, как про него рассказывают? 2) Давай больше практики) Практика лучшее обучение! Можно телеграм бота на GO (А почему нет? =) ) 3) На GO можно парсить? Интересно, как бы это выглядело?) 4) Что должен знать и уметь GO backend разработчик? 5) Топ 5/10 фреймворков/библиотек которые вам стоит использовать 6) Деплой GO проекта 7) best practices Обещаем ставить лайки, подписываться и прожимать колокольчик! =D Нужно популяризировать GO в России, это один из лучших языков) P.S. Я пошёл ставить лайки на все видео, а ты обещай сделать новый видос))
Я, видимо, тупой. Всё эти примеры делают хуже. Они мне лишь подтверждают, что проще написать по функции для каждого. Будет короче и проще. Зачем это всё абстрагировать, если в итоге все получается сложнее и больше? Или я тупой.
интерфейсы нужны для достижения полиморфизма и уменьшения количества дубляжа кода например есть два объекта(типа) с методами save() для того чтоб их использовать нужно написать две функции например func structSave(s /*структура*/) { s.save() } и так ты будешь описывать каждую функцию с разными типами структур чтоб уменьшить количество разных функций с разными структурами можно использовать интерфейс type saver interface { save() } // принимает интерфейс который описывает поведение save() func polimorf(s saver) { s.save() } polimorf(/*структура с методом save*/)
а во фронте разбираешься? по мне так было б круто подключить фронт в виде vue.js допустим в видосах, пока понятно только как гошными теймплейтами рисовать фронт по видосам Тодда
Это получится ролик про Vuejs, а не про Го. Так как в go-части необходимо будет лишь отдать статичные html, js - пара строк кода. Ну и обработать http запросы, которые уже освещали в ранних роликах
Слабые примеры. Новичок так и не поймет смысл интерфейсов. В этих примерах возникаеют сразу вопрос: зачем усложнять, когда можно просто прописать методы?
2020.12.1: На Новый Год я загадаю желание, чтобы Gopher School вернулся
2022 год. Смотрю ваши видео, отличное дополнение к tour of go а так же другим учебникам, что ни говори, а когда тебе разжевывают все, да еще и на русском-это прекрасно
Спасибо большое! Хотелось бы увидеть работу с горутинами и каналами.
и про работу с пакетами)
Лучшие уроки по Go, твой канал приятная находка! Спасибо
Автор, пожалуйста, выпускайте еще больше уроков по golang, вы очень хорошо, а что более важно, ПОНЯТНО объясняете. Возвращайтесь с новыми уроками!
Спасибо!
По моему заказу! Спасибо огромное!
Спасибо за контент. Полезное видео. Хотелось бы посмотреть на твое видео о горутинах.
Как будто мысли читаете. Спасибо вам!
Лучший канал про го. Автору респект, очень надеюсь, что будет продолжение.
канал развивается, рад за тебя! не останавливайся на достигнутом.
Спасибо большое!!! Ждём продолжения уроков
Пожалуйста, вернись, выучил Golang только благодаря тебе! Жду тебя уже долго, счастья тебе, и надеюсь что ты вернёшься
Спасибо! Ну после таких комментов и правда придется снимать еще :)
Ну реально ведь канал классный, почему бросил?
Сначала работа навалилась, потом что-то темы не приходили в голову. Так год и прошёл :)
Темы? Ну например работа с базой данных в Golang, или геймдев в Go, а может быть даже GUI
@@GopherSchool Мужик серьёзно, в Рунете лучше инфы нету, особенно от практика, я проверил). Может в частном порядке есть возможность пообщаться в телеграмме например, заодно тебе и тем набросаю, переписываю сервак с ноды (тема как вариант, довольно болезненно переходить, ощущение что проваливаешься на уровень ниже)
отличная подача! Я как и остальные жду новых видео ʕ༼◕ ౪ ◕✿༽ʔ
Очень удачные и доходчивые примеры! Большое спасибо за Вашу работу
Спасибо! Наконец-то нормальное и понятное объяснение! Разобрался теперь)
Вы делаете полезное дело, не бросайте его :)
Спасибо! 💪
Отличные видео! Спасибо, побольше близких к реальности проектов :)
Реально очень хорошее видео, понятная и удобная подача, спасибо!
Спасибо. очень интересно. ждем продолжения.
Ну очень профессионально!!!
Огромное спасибо!!!
Спасибо!
@@GopherSchool Будем ждать новых уроков!
Пример с map прям вау! Круто!
Очень полезно, спасибо!
Отличная подача материала, жду с нетерпением выпуска новых роликов :)
искренне надеюсь что ты вернёшься. хорошо объясняешь и примеры крутые. очень мало такого материала с хорошими продакшн практиками и подачей как у тебя (да ещё и на русском). Тут очень много людей ждут твоего возвращения)
Это лучшее объяснение по интерфейсам, что я видела! :) Спасибо огромное 😍😍😍
да соглашусь. очень лаконично и не дико заумно.
Вернись пожалуйста 😂. Прекрасное объяснение! Хотел бы увидеть создание GUI в Go
Спасибо, очень информативно!
Может посмотрим ещё в сторону graphql )?
За видео спасибо большое !
Бро, у тебя самый качественный канал по Golang на youtube. Многие ждут новых видео и готовы советовать другим. Возвращайся)
Привет! Жду следующий выпуск, надеюсь ты не забросил канал, потому что предыдущие выпуски были отличные! Хотелось бы узнать с какими реальными проектами на Go ты работаешь, какие подходы, паттерны используешь для разработки, какие актуальные пакеты, когда лучше применять / не применять конкурентность.
Спасибо! Забрасывать не хочу, но пока маловато свободного времени и немного затык с идеями для видео :(
@@GopherSchool идеи: 1) Вложенные структуры при использовании селектов с джойнами; 2) Постраничное отображение результатов запросов к базе.
прекрасное объяснение материала) спасибо за труд
Можно раскрыть тему децентрализованных приложений, блокчейна и всего такого. Твоя подача продакшн материала лучшая
Помогли разобраться с интерфейсами, благодарю!
То есть структуру создаваемой системы удобно представлять в виде N-мерной матрицы :
По иерархии мод перечисляются интерфейсы, по одной - данные (структуры например ). На пересечениях - методы реализации интерфейсов.
Если сделать такой набор матриц, которые можно крутить, рассматривать и наполнять в разных срезах общей N-мерной модели, то проектирование возможно будет нагляднее и проще чем, как обычно, писать листинг... Система разработки сама выделит части, которые следует перенести в библиотеку, да и оптимизирует весь код
Автор спасибо за Ваши уроки!! Если сделаете платный курс где-нибудь на stepick - я обязательно его бы купил.
Например небольшое приложение с микросервисной архитектурой с общением между микросервисами по grpc
бд Postgres , JWT и т.д.
Пару идей:
code conventions
escape analysis
First-class functions
high-order function
packages
modules
dependencies management
debugging
code optimizations
dev environment configuration
Спасибо огромное! Очень понятно объяснили!!
Когда новые видео??
Спасибо! Пока не знаю ¯\_(ツ)_/¯
Немного по другому раскрыл тему интерфейсов на своем канале. Интересно будет сравнить.
Ждем с нетерпением, возвращайся! Очень хочется побольше послушать за API & gRPC
Спасибо!👍👍👍
Отличные сэмплы, автору респект, в надежде что не забил в этой деятельности
Два вечера скитаний по интернету. А за три года ничего лучше объясняющего интерфейсы в го не появилось. Спасибо! Подписался, но как понимаю канал заброшен. Ну хоть посмотрю старые видосы)
Хорошо рассказал. Сегодня парился над выводом каталогов в виде дерева. Если что, запили на эту тему видос.
Очень понятное объяснение, спасибо.
Gopher School Спасибо!!!
Было бы здорово посмотреть видео о том какие ресурсы использовал/используешь для развития в языке.
Спасибо за видео. Я новичок в гошке, и было какое-то понимание про интерфейсы тут, а вы их подтвердили и укрепили.
На будущее хотелось бы информацию о взаимодействии между сервисами, хотя бы по http (curl?).
Ты большой молодец❤
Вас приятно слушать
Добрый день! Спасибо за видео! Хотелось бы увидеть видео по гоурутинам и каналам.
Привет, скажи пожалуйста, стоит ли ждать новых видео про го, или уже все?
Super!!!
Большое спасибо за урок. Уважаемый автор, подскажите пожалуйста, как сделать тоже самое, только разделив интерфейсы на пакеты и потом иметь доступ ко всем дочерним пакетам с одного родительского пакета (интерфейса). Все не могу разобраться в логике. Например есть главный интерфейс Animal, который имеет 2 дочерних интерфейса в каждом из которых определенные методы. А под главным интерфейсом есть структуры Cat и Dog, которые имеют те самые 2 дочерних интерфейса и каждая структура реализует нужные методы. Не могу понять, как построить это не в одном файле, как у вас в примерах, а разделив на пакеты. Где Animal главный пакет, а Cat и Dog два дочерних пакета. Буду очень признателен.
УРАААА! строкА! :)
Жаль что канал остыл. У вас получается отлично объяснять 👍
Спасибо за видео. Какими расширениями VSCode вы пользуетесь при программировании на Go?
Очень круто объясняешь, лучшие уроки. Жаль что канал не развивается.
2021.12.18: На Новый Год я загадаю желание, чтобы Gopher School вернулся
Привет! Почему так долго видео не выходят? Я очень жду твоих видео, ты один из лучших контент мейкеров по го! Возвращайся!
Сними видео про модули, как правильно подключать пакеты. Некоторые до сих пор с PATH хороводы водят.
А есть выбор, если имеем локальный пакет?
Например у меня свои наработки, которые не хочется/нельзя показать на том же github.
Так и не понял, зачем нужны интерфейсы, а почему? Потому что надо было бы показать рядом, чтобы мы делали БЕЗ них, тогда в сравнении стало бы видно, зачем нужны интерфейсы. Сейчас у меня непонимание: зачем нужна лишняя прокладка в виде интерфейса, если есть методы? Метод точно так же может обращаться к полям структуры, вынимать оттуда значения и работать с ними. Метод это ведь уже универсальная сущность, в которую можно "заряжать" поочередно параметры, и получать результаты. Объекты эти держать можно в срезе, а листать циклом for-range. Так зачем же все-таки нужны интерфейсы?..
Да и как вас можно поддержать/промотивировать )?
Добавил в описание видео и канала, как это можно сделать :)
все еще жду
Почему на 5:08 ты в аргументы sayHello ты вставляешь указатели на интерфейсы, но в объявлении функции sayHello там просто интерфейс, без указателя?
В аргументы `sayHello` передаются не интерфейсы, а структуры (точнее ссылки на них), которые реализуют этот интерфейс.
@@GopherSchool но в декларации greeter без звёздочки, то есть не указатель, а в вызовах этой функции передаются указатели
хорошо объясняете
Также в новых обновлениях Go вместо interface{} можно использовать any
спасибо!
Чувак мы тебя ждем, Вернись !
👍👍
Автор, почему перестал пилить видосы??? никто так хорошо не объяснял интерфейсы. более 5 видосов и несколько статей глянул
куда пропал? Ждемс ещё уроки! ))
Запиши урок про ссылки и указатели.
9:34 why not use just this:
func main() {
var c animal = &cat{}
var e bird = &eagle{}
c.walk()
e.walk()
}
instead of this function:
func walk(w walker) {
w.walk()
}
...it is confusing ...
надо же! один раз всё таки получилось выговорить интерфЭйс вместо интерфЕйс.
А в каких случаях может понадобиться возвращать интерфейс (не пустой)? Видел не раз такое, когда функция возвращает определенный интерфейс.
Сложно сказать, надо смотреть на конкретный код. Но в общем случае интерфейс удобно возвращать тогда, когда результат функции может варьироваться. Например, если это какая-нибудь фабрика. Другой пример, это когда наша ф-ия возвращает ошибку (`func blah() error {}`). Тип `error` - это как раз интерфейс из одного метода `Error()`. Это позволяет по сути создавать и возвращать из функции свои типы ошибок.
Возвращать пустой интерфейс крайне не рекомендуется. Принимать можно без проблем, с реализацией проверок внутри вашей функции.
Надеюсь, что ты вернешься к нам с новым видео-уроком и расскажешь что нибудь интересное, очень ждем тебя. Ты же на руби пишешь? Может и там контент интересный есть.
У меня последнее время что-то какой-то ступор с идеями для видео ¯\_(ツ)_/¯ может стоит создать опрос на канале, и люди сами расскажут, что им интересно. Насчет руби я тоже думал, но тут наверно надо на другом канале это делать
@@GopherSchool хорошая идея с опросом, да и не обязательно делать второй канал, можно в плейлисты сортировать просто языки. А так, очень ждем интересностей. Сам щас дипломную работу буду начинать на golang, хотелось бы чего нибудь узнать нового, каких то решений. Удачи тебе!
@@GopherSchool всем будут полезны и интересны конкретные кейсы и примеры решения с объяснением разных рабочих задач, а также примеры реализации разных простых сетевых сервисов. Именно практические кейсы и реализации по шагам с объяснениями.
Так и не понял зачем в интерфейсы методы складывать, мы же и без интерфейсов можем их вызывать на объектах. Просто для структуры?
7:20 Чувак, где почитать про 5 принципов? Спасиб)
Лучше всего SOLID описал сам Роберт Мартин в книге "Чистая архитектура", советую начать с неё.
@@GopherSchool Спасиб)
Возвращайтесь на канал, мы Вас ждем!)
Я видел, как орёл бегает!
куда пропал? я не понимал интерфейсы до твоего видео
покажите S.O.L.I.D. в Golang.
Жалко, перестали выпускать видео
Как тема называется vs code ?
Жаль конечно этого добряка - хороший был человек
Вы о ком?)
@@GopherSchool , о Вас) Стоит ли ожидать камбэк, или Вы уже все по Go ?)
@@rolsonalister3052 Наоборот, в работе снова появился Go, и есть несколько идей для видео, планирую в обозримом будущем записать новые видео) Главное, чтобы не забанили ютуб)
@@GopherSchool , а вот это уже отличные новости! Будем с нетерпением ждать) Если ютуб забанят, - поищите альтернативные площадки) Главное - оповестите нас об этом в случае чего, например, в телеграмме Вашем)
как проверить на налл ссылку с типом интерфейсав?
Кто то может объяснить а зачем были введены интерфейсы бер и энимал если они нигде не использовались
Что за тема в вс код?
Почему в sayHello greeter передаётся не по указателю?
Потому что greeter - интерфейс.
Автор делал отличный контент!!! Если автор ещё жив и смотрит уведомления о новом комментарии - автор, сделай подписку платную, мне не жалко за проделанную работу тебе денег кидать каждый месяц. Глядишь, таких как я наберётся человек 1000 и автор почувствует мотивацию вернуться к созданию годного контента
Спасибо! Конечно было бы неплохо иметь какую-то финансовую отдачу, но я не знаю, в каком формате это могло бы работать.
@@GopherSchool посоветовать конкретику не могу, но сам лично подписан на два канала в ютубе, где выступаю спонсором(ютуб даёт прикрутить такой функционал у себя программно): там на выбор несколько вариантов обычно: 49 руб/мес, 250-300 руб/мес и для состоятельных парней 100500 рублей/мес. На каждом уровне свои плюшки - доступ к спец контенту, закрытый чат, личное кураторство и т.д. Можно прикрутить заглавный ролик, где попросить заинтересованных подписываться как спонсоры, чтобы автор был более мотивирован продолжать начатое. Восторженных комментариев хватает, думаю всё получится
@@GopherSchool для примера есть канал The Art of Development. Тоже о Go разработке, активно привлекает подписчиков-спосоров и правильно делает
@@MichailMishutkin Спасибо, звучит интересно, надо будет разобраться с этим делом :) Хотя мне конечно как-то неудобно брать за видео деньги, сразу ответственность какая-то возникает)
@@GopherSchool добровольное спонсорство и продажи это всё таки про разное, годный контент надо поддерживать (иначе всё превратиться в 10 фактов о RESTapi с обнажёнкой на превью), и делать автора независимым в прямом смысле. Только в моей группе по Go со мной учится 271 человек, если мы уж заплатили по 70-100 тыс за среднего качества контент начального уровня, то уж за толковый, который нужен уже для устройства на работу и/или стажировку - 100-200 руб. в месяц это не плата, это слёзы благодарности)))
Парень вернись! Такого контента нет в СНГ и не будет ещё долго, кто нам ещё расскажет про grpc и прочие классные штуки?)) Давай мы тебе поможем и подкинем несколько классных идей для видео!
1) Часто говорят про fasthttp фреймворк для go, якобы он в 10 раз быстрее обычного net/http, но максимум, что удаётся найти по нему это hello world. Его вообще кто-то использует в реальных проектах? И так ли он хорош, как про него рассказывают?
2) Давай больше практики) Практика лучшее обучение! Можно телеграм бота на GO (А почему нет? =) )
3) На GO можно парсить? Интересно, как бы это выглядело?)
4) Что должен знать и уметь GO backend разработчик?
5) Топ 5/10 фреймворков/библиотек которые вам стоит использовать
6) Деплой GO проекта
7) best practices
Обещаем ставить лайки, подписываться и прожимать колокольчик! =D
Нужно популяризировать GO в России, это один из лучших языков)
P.S. Я пошёл ставить лайки на все видео, а ты обещай сделать новый видос))
Дайте туториал как оживлять канал
Плиз
Ну вот, снова пропал:(
Я, видимо, тупой.
Всё эти примеры делают хуже. Они мне лишь подтверждают, что проще написать по функции для каждого. Будет короче и проще. Зачем это всё абстрагировать, если в итоге все получается сложнее и больше?
Или я тупой.
интерфейсы нужны для достижения полиморфизма и уменьшения количества дубляжа кода
например есть два объекта(типа) с методами save()
для того чтоб их использовать нужно написать две функции
например func structSave(s /*структура*/) {
s.save()
}
и так ты будешь описывать каждую функцию с разными типами структур
чтоб уменьшить количество разных функций с разными структурами можно использовать интерфейс
type saver interface {
save()
}
// принимает интерфейс который описывает поведение save()
func polimorf(s saver) {
s.save()
}
polimorf(/*структура с методом save*/)
%T определяет тип без рефлекта
Что за звездочки и амперсанды? Умников попрошу проигнорировать сей вопрос.
Это указатели, ты можешь прочитать в интернете, что они делают. :)
а во фронте разбираешься? по мне так было б круто подключить фронт в виде vue.js допустим в видосах, пока понятно только как гошными теймплейтами рисовать фронт по видосам Тодда
Это получится ролик про Vuejs, а не про Го. Так как в go-части необходимо будет лишь отдать статичные html, js - пара строк кода. Ну и обработать http запросы, которые уже освещали в ранних роликах
Aleksey P все равно хотелось бы
Пожалуйста вернись на канал...
Слабые примеры. Новичок так и не поймет смысл интерфейсов. В этих примерах возникаеют сразу вопрос: зачем усложнять, когда можно просто прописать методы?
Забросил уроки?