I respect when the creator put so much effort to make the viewers understand the content by incuding real life example anyone can relate with, it becomes absolutely worth watching it rather than someone explaining from an abstract level. Thank you.
I don't know why such amazing creators stop making videos. This was so much better than what I have seen elsewhere and it's my humble request to the author to please continue to upload more.
Thank you a lot! It is a one of the best explanation videos. - Explanation is clear. - Examples are interesting and selected shrewdly. - Animation and layout are selected with a taste of real architect. Brilliant.
This is the exact video I needed, I've been having a hard time wrapping my head around and visually being able to understand interface implementation. But this helped me visualize it sooooo well! THANK YOU!!
just found your channel after i bought the course on udemy, dude, developers need more people like you, that can explain things in a visual way, i wish you'd come back to making videos too
This was the best explainer video for interfaces I have come across so far. Great work. It must have taken days of editing and prep to get this together.
Calling it a protocol is a really neat idea and helped me understand it. When it came to interfaces the Tour of Go just brushed past it and went straight to exercises on readers and stringers, that even when I completed I still didn't understand the utility/power of interfaces. Thank you for your video!
You're a genius thank you so much Edit: just realised this is the last video you've posted. Unfortunate, but subscribed if you ever make more. Alternatively please let us know if you have anything on any other platform 👍🏼
Best video on Golang interfaces, and I watched every one on YT. I still have trouble with the concept (I come from other languages and didn’t do OO). If you ever revisit, maybe show how to convert a medium sized,working non-interface code over to Interfaces? Or something else… it’s both a simple concept and difficult to know when to apply it.
I've been poking around for over an hour and it still wasn't clear to me. Within the first 2 minutes of this, I understood the point of an interface. Great analogy!!!
There are many tutorials on web with same examples of the interfaces for area of shapes, they were just copying from each others. This one makes sense. Well, that's say the interface is a method which calls all all the methods which has the same name from different types.
This is interesting when coming from OOP languages. In C++ you'd create a "product" interface because the products also share title and price. But it seems that in Go interfaces are more granular. What would you do in the the case that you need to ensure a type has a "title", "price" and "print" method?
Interfaces in go deal with behaviours of types only. Srructs would be where you define what attributes your types take on (guitars, books, pencils) and you can nest srructs if that makes sense for your use case. By splitting the behaviours of types away - you get arguably better flexibility and with implicit matching, you simply add interfaces as you go to have existing types automatically take on new behaviours.
When declaring interfaces, restrict them to the behavior you want others to implement without considering the other types. Only consider what you need from the perspective of the package that needs that behaviour.
All this is good, but how do I access the fields of the concrete types when using interfaces? Let's say I have a book with a price on it and I have a game with a price on it. Within the loop call to x.Price is not available. Yes, I can implement both methods in a book and in a game with getPrice() and add it to the Printer, but 1 it wouldn't be a printer anymore 2 what If I don't want to do that?
Interfaces are about behavior rather than state. You should tell the types what to do without knowing how they do it. `getSomething` is not a behavior; it’s like poking into the internals of that type.
İnanç abi iyi günler.Ben senin go kursunu almıştım da oradaki themeini çok sevdim nasıl yaptın veya hangi theme kullandın söyler misin kurstaki benzer bir soruyu cevaplamışsın ama ben yaptım farklı ve kötü bir şey oldu
What type of programmers did you expect to address in this video? Why spent so much time explaining what an interface is at the same time throwing things like type list []*game (yes, a pointer to a game) but []book (no, no pointer to book) and glossing over the details? Worse, there's nothing revealing as your title suggests beside the normal polymorphism concept any tutorial already addresses.
I respect when the creator put so much effort to make the viewers understand the content by incuding real life example anyone can relate with, it becomes absolutely worth watching it rather than someone explaining from an abstract level. Thank you.
I don't know why such amazing creators stop making videos. This was so much better than what I have seen elsewhere and it's my humble request to the author to please continue to upload more.
Thank you a lot!
It is a one of the best explanation videos.
- Explanation is clear.
- Examples are interesting and selected shrewdly.
- Animation and layout are selected with a taste of real architect.
Brilliant.
I wanna hug you for making me acquire this knowledge so easily
I’ve been struggling to understand Interfaces for ages! Thank you for making it so visual! Great video!
Glad it was helpful!
go interface confused me , I went through several tutorials , this one explains in the best easy way. Your examples shine. Thanks
3 minutes into the video and I subscribed, liked. This is what I call quality education.
One of the most explanatory and declarative content about Golang interfaces.
This is the exact video I needed, I've been having a hard time wrapping my head around and visually being able to understand interface implementation. But this helped me visualize it sooooo well! THANK YOU!!
just found your channel after i bought the course on udemy, dude, developers need more people like you, that can explain things in a visual way, i wish you'd come back to making videos too
Amazingly clear examples , all real-world related and breath taking visuals
Thank you! In under 2 minutes you have made me understand what interfaces are and why we would want to use them!
Best explanation so far. Thanks. Subscribed!
This was the best explainer video for interfaces I have come across so far. Great work. It must have taken days of editing and prep to get this together.
Where are you? It's amazing! It's amazing the way that you explain the interfaces. Thanks a lot, because I didn't understand its useful.
Best explanation of go interfaces
Why have you stopped making such incredible videos?
One of the best explanations I have come across. Thank you.
Thanks! Glad to hear!
I've been staring at code for so long and looking at other tuts but just not getting it, the non-code example and visuals were so helpful!
thanks for the video.
what vscode theme name in this video?
This is the video that made me understand interfaces. Thank you very much!
Calling it a protocol is a really neat idea and helped me understand it. When it came to interfaces the Tour of Go just brushed past it and went straight to exercises on readers and stringers, that even when I completed I still didn't understand the utility/power of interfaces. Thank you for your video!
Great video, demonstrates the power of interfaces in Go in such a clear way. Gr8 job m8
Excellent explanation, I've searched everywhere for a good one and finally found the best, thank you for your time
This is how programming tutorials should be made
The best explanation I have seen. Thanks, I finally understand interfaces.
By far the best explanation of golang interfaces. Thank you for the time and effort you put into this
Hi, what's your vscode theme?
Your explanation make it looks very easy. Amazing.
Interface type is an awesome concept and you explain it very well
You're a genius thank you so much
Edit: just realised this is the last video you've posted. Unfortunate, but subscribed if you ever make more. Alternatively please let us know if you have anything on any other platform 👍🏼
Very well explained WHY we do need interfaces! Thank you!
W explanation, it's just perfect
Clearly explained.. Keep up the good work!
Thanks!
best explaination i've ever seen
Very good description. Thanks for explaining so clearly
Can you make more video about Golang, all of your video are so good
this tutorial is really good about interfaces!
Really well done! Appreciate the effort.
Hey man! You just nailed it. One of the best interpretations.
Best video on Golang interfaces, and I watched every one on YT.
I still have trouble with the concept (I come from other languages and didn’t do OO). If you ever revisit, maybe show how to convert a medium sized,working non-interface code over to Interfaces? Or something else… it’s both a simple concept and difficult to know when to apply it.
This video is what i've been looking for, Ty very much!!
Hi, why you not making videos?? your videos are so good I learn a lot. please start making video again. thank u.
Gold standard video it is :) Thank you very much
thank you very much for giving it free
So good!! Instant subscribe
Thank you for this tutorial. What theme are you using?
Awesome explanation , Please cover entire Goalng
THE BEST EXPLANATION
Thanks for the awesome tutorial! What vscode theme is this?
I've been poking around for over an hour and it still wasn't clear to me. Within the first 2 minutes of this, I understood the point of an interface. Great analogy!!!
😊 I'm glad that I could help you!
thank you for the video! a lot of hard work on this video indeed
Excellent explanation, subscribed
if it swims it's a duck, that's all i needed to understand interfaces? after struggling for a month. thanks.
Man, I forgot European sockets had 4 holes... good video on go too.
There are many tutorials on web with same examples of the interfaces for area of shapes, they were just copying from each others. This one makes sense. Well, that's say the interface is a method which calls all all the methods which has the same name from different types.
Thanks!
Hey great video.
I was wondering which VSCode Theme you are using? Would love to know.
Thanks in advance,
me too D:
Please make the output font a bit bigger .
BTW nice video.
Hey, I'm quite new to go and its pointer concept, can you please explain why you used pointer in game receiver but not in book receiver? Thank you!
The book print method doesn't have a pointer receiver.
Marvellous explanation
Thanks a lot
Merhaba iyi günler. Bir sorum olacaktı bu videonun Türkçe hali bulunuyor mu
Thanks for the video, very clearly explained. As many in the comments, would really like to know what theme you are using on vscode, looks neat
great explanation. pls post more.
Amazing video. Thank you very much
Why did you use pointers for the games?
It’s because the game type implements the print method with a pointer receiver.
Oh, that's how it works. Thank you.
superb lecture!
This is interesting when coming from OOP languages. In C++ you'd create a "product" interface because the products also share title and price. But it seems that in Go interfaces are more granular. What would you do in the the case that you need to ensure a type has a "title", "price" and "print" method?
i'm curious about this as well
Interfaces in go deal with behaviours of types only. Srructs would be where you define what attributes your types take on (guitars, books, pencils) and you can nest srructs if that makes sense for your use case.
By splitting the behaviours of types away - you get arguably better flexibility and with implicit matching, you simply add interfaces as you go to have existing types automatically take on new behaviours.
When declaring interfaces, restrict them to the behavior you want others to implement without considering the other types. Only consider what you need from the perspective of the package that needs that behaviour.
All this is good, but how do I access the fields of the concrete types when using interfaces? Let's say I have a book with a price on it and I have a game with a price on it. Within the loop call to x.Price is not available. Yes, I can implement both methods in a book and in a game with getPrice() and add it to the Printer, but 1 it wouldn't be a printer anymore 2 what If I don't want to do that?
Interfaces are about behavior rather than state. You should tell the types what to do without knowing how they do it. `getSomething` is not a behavior; it’s like poking into the internals of that type.
Excellent video! Brilliant!
excellent example!
Great video.
clear expression, thanks..
Glad you liked it
İnanç abi iyi günler.Ben senin go kursunu almıştım da oradaki themeini çok sevdim nasıl yaptın veya hangi theme kullandın söyler misin kurstaki benzer bir soruyu cevaplamışsın ama ben yaptım farklı ve kötü bir şey oldu
very informative, thanks
thank you for the video :)
🔥🔥🔥
Where's the github repo?
could you or anybody here explain why the minecraft and tetris have the ampersand(&) ???
hocam 10 saat doc okusam bu kadar iyi anlamazdım emeğinize sağlık
You are the best
Why do u stop? Keep the good work going
The duck example was enough for me. 🤣
Ps. I already knew abt interfaces just couldn't visualise it's applications.
Hi please continue tour video
very well described
Thanks, Ugur!
excellent
omg thank you
do i really want to code? nah? do i need to build a life stlye that needs to income? yes
11:09 nice to know
Biliyorum Ingilizce onemli yazilimda.Keske turkceside olsaydi yinede tesekkur ederim.
Do I really think I understand Go interfaces? Yes, I thought I did. Then I watched this video, and I still think I did
What type of programmers did you expect to address in this video? Why spent so much time explaining what an interface is at the same time throwing things like type list []*game (yes, a pointer to a game) but []book (no, no pointer to book) and glossing over the details? Worse, there's nothing revealing as your title suggests beside the normal polymorphism concept any tutorial already addresses.