Tutorial: Do you really think you understand Go interfaces?

  Рет қаралды 66,306

Learn Go Programming

Learn Go Programming

Күн бұрын

Interfaces in the Go programming language are very simple but they are subtle.
👉 This video is a part of my Go Bootcamp online course. You can buy the full course using this link: www.udemy.com/...

Пікірлер: 106
@princeofxane
@princeofxane 3 жыл бұрын
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.
@winter_light
@winter_light 2 жыл бұрын
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.
@GeorgeGaleMusic
@GeorgeGaleMusic 3 жыл бұрын
I’ve been struggling to understand Interfaces for ages! Thank you for making it so visual! Great video!
@learngoprogramming70
@learngoprogramming70 3 жыл бұрын
Glad it was helpful!
@YBWang-pi9qq
@YBWang-pi9qq 3 жыл бұрын
go interface confused me , I went through several tutorials , this one explains in the best easy way. Your examples shine. Thanks
@dmitrydmitriev2554
@dmitrydmitriev2554 Жыл бұрын
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.
@0xf01
@0xf01 2 жыл бұрын
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
@CJ-ix1ov
@CJ-ix1ov 3 жыл бұрын
Why have you stopped making such incredible videos?
@wilfred-almeida
@wilfred-almeida 2 жыл бұрын
3 minutes into the video and I subscribed, liked. This is what I call quality education.
@yogeshdharya3857
@yogeshdharya3857 Жыл бұрын
Amazingly clear examples , all real-world related and breath taking visuals
@Stevesteacher
@Stevesteacher 2 жыл бұрын
Thank you! In under 2 minutes you have made me understand what interfaces are and why we would want to use them!
@AntonyMapfumo
@AntonyMapfumo 4 жыл бұрын
One of the best explanations I have come across. Thank you.
@inancgumus4125
@inancgumus4125 3 жыл бұрын
Thanks! Glad to hear!
@lancer876
@lancer876 Жыл бұрын
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.
@iwolfman37
@iwolfman37 Жыл бұрын
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!!
@alyssa6738
@alyssa6738 3 жыл бұрын
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!
@Avocado.777
@Avocado.777 Жыл бұрын
I wanna hug you for making me acquire this knowledge so easily
@justadude8716
@justadude8716 2 жыл бұрын
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!
@savingday
@savingday 10 ай бұрын
Interface type is an awesome concept and you explain it very well
@w300x
@w300x 2 жыл бұрын
This is the video that made me understand interfaces. Thank you very much!
@thisisreallyme3130
@thisisreallyme3130 9 ай бұрын
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.
@dassyareg7587
@dassyareg7587 Жыл бұрын
Best explanation so far. Thanks. Subscribed!
@janz.7994
@janz.7994 2 жыл бұрын
This is how programming tutorials should be made
@guhkunpatata3150
@guhkunpatata3150 2 жыл бұрын
Your explanation make it looks very easy. Amazing.
@days.lee23
@days.lee23 Жыл бұрын
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 👍🏼
@DavisTibbz
@DavisTibbz 2 жыл бұрын
Best explanation of go interfaces
@chrisclark5900
@chrisclark5900 2 жыл бұрын
Great video, demonstrates the power of interfaces in Go in such a clear way. Gr8 job m8
@oemperore835
@oemperore835 3 жыл бұрын
The best explanation I have seen. Thanks, I finally understand interfaces.
@yagisanatode
@yagisanatode 8 ай бұрын
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.
@victorsanchez001
@victorsanchez001 3 жыл бұрын
Excellent explanation, I've searched everywhere for a good one and finally found the best, thank you for your time
@zoloto9946
@zoloto9946 3 жыл бұрын
Very well explained WHY we do need interfaces! Thank you!
@mikeyo5154
@mikeyo5154 2 жыл бұрын
Very good description. Thanks for explaining so clearly
@garybonner7499
@garybonner7499 Жыл бұрын
By far the best explanation of golang interfaces. Thank you for the time and effort you put into this
@jsteezeful
@jsteezeful 4 жыл бұрын
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!!!
@inancgumus4125
@inancgumus4125 3 жыл бұрын
😊 I'm glad that I could help you!
@renishb10
@renishb10 4 жыл бұрын
Clearly explained.. Keep up the good work!
@inancgumus4125
@inancgumus4125 3 жыл бұрын
Thanks!
@TheAmazingXizde
@TheAmazingXizde 2 жыл бұрын
this tutorial is really good about interfaces!
@pratikshitole391
@pratikshitole391 3 жыл бұрын
Awesome explanation , Please cover entire Goalng
@pitzel
@pitzel 2 жыл бұрын
best explaination i've ever seen
@safwatimran5310
@safwatimran5310 2 жыл бұрын
Really well done! Appreciate the effort.
@hjman2934
@hjman2934 2 жыл бұрын
Hi, why you not making videos?? your videos are so good I learn a lot. please start making video again. thank u.
@ABHISHEKSINGH-nv1se
@ABHISHEKSINGH-nv1se 2 жыл бұрын
Please make the output font a bit bigger . BTW nice video.
@inaccessiblecardinal9352
@inaccessiblecardinal9352 3 жыл бұрын
Man, I forgot European sockets had 4 holes... good video on go too.
@mr.psychedelic9595
@mr.psychedelic9595 3 жыл бұрын
thanks for the video. what vscode theme name in this video?
@Zarkoublack
@Zarkoublack 3 жыл бұрын
This video is what i've been looking for, Ty very much!!
@parthokr
@parthokr 3 жыл бұрын
Hey man! You just nailed it. One of the best interpretations.
@quyvominh9860
@quyvominh9860 2 жыл бұрын
Can you make more video about Golang, all of your video are so good
@rajendragosavi2233
@rajendragosavi2233 2 жыл бұрын
Gold standard video it is :) Thank you very much
@НикитаНеговора-з8е
@НикитаНеговора-з8е 5 ай бұрын
thank you for the video! a lot of hard work on this video indeed
@mamtachahal1277
@mamtachahal1277 2 жыл бұрын
THE BEST EXPLANATION
@debanjanbarman7212
@debanjanbarman7212 3 жыл бұрын
thank you very much for giving it free
@batiandanielliu3598
@batiandanielliu3598 3 жыл бұрын
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.
@learngoprogramming70
@learngoprogramming70 3 жыл бұрын
Thanks!
@_hologram
@_hologram 2 жыл бұрын
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
@luismelo4131
@luismelo4131 Жыл бұрын
W explanation, it's just perfect
@tommasogagliardi6051
@tommasogagliardi6051 3 жыл бұрын
Excellent explanation, subscribed
@denizszr8316
@denizszr8316 2 жыл бұрын
hocam 10 saat doc okusam bu kadar iyi anlamazdım emeğinize sağlık
@luv2stack
@luv2stack Жыл бұрын
So good!! Instant subscribe
@SushantShekhar-my7eu
@SushantShekhar-my7eu Жыл бұрын
great explanation. pls post more.
@vurmyr
@vurmyr 3 жыл бұрын
Marvellous explanation
@learngoprogramming70
@learngoprogramming70 3 жыл бұрын
Thanks a lot
@sideantunes
@sideantunes 2 жыл бұрын
Hi, what's your vscode theme?
@abinashpanda393
@abinashpanda393 4 жыл бұрын
Oh, that's how it works. Thank you.
@borzoomoazami8201
@borzoomoazami8201 7 ай бұрын
Amazing video. Thank you very much
@DentrifixoRam88
@DentrifixoRam88 3 жыл бұрын
Great video.
@randomness3231
@randomness3231 3 жыл бұрын
excellent example!
@esra_erimez
@esra_erimez Жыл бұрын
Excellent video! Brilliant!
@Demik109Xx
@Demik109Xx 3 жыл бұрын
Thanks for the awesome tutorial! What vscode theme is this?
@ijyotir
@ijyotir 3 жыл бұрын
Why do u stop? Keep the good work going
@tesohh
@tesohh Жыл бұрын
Thank you for this tutorial. What theme are you using?
@yigitaltunay
@yigitaltunay 3 жыл бұрын
clear expression, thanks..
@learngoprogramming70
@learngoprogramming70 3 жыл бұрын
Glad you liked it
@bschaatsbergen
@bschaatsbergen 2 жыл бұрын
Hey great video. I was wondering which VSCode Theme you are using? Would love to know. Thanks in advance,
@zaphkiel_3371
@zaphkiel_3371 Жыл бұрын
me too D:
@kafin3504
@kafin3504 3 жыл бұрын
superb lecture!
@mk9834
@mk9834 3 жыл бұрын
very informative, thanks
@mwnkt
@mwnkt Жыл бұрын
if it swims it's a duck, that's all i needed to understand interfaces? after struggling for a month. thanks.
@Pimphats
@Pimphats 3 жыл бұрын
thank you for the video :)
@beakid7126
@beakid7126 4 ай бұрын
Hi please continue tour video
@wah1dx
@wah1dx 3 жыл бұрын
The duck example was enough for me. 🤣 Ps. I already knew abt interfaces just couldn't visualise it's applications.
@MaheshCRegmi
@MaheshCRegmi 3 жыл бұрын
You are the best
@ИгорьТ-х6м
@ИгорьТ-х6м 2 жыл бұрын
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?
@inancgumus4125
@inancgumus4125 Жыл бұрын
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.
@InsanPrasetya
@InsanPrasetya 3 жыл бұрын
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!
@learngoprogramming70
@learngoprogramming70 3 жыл бұрын
The book print method doesn't have a pointer receiver.
@sechangpark8846
@sechangpark8846 3 жыл бұрын
omg thank you
5 жыл бұрын
very well described
@inancgumus4125
@inancgumus4125 5 жыл бұрын
Thanks, Ugur!
@base2446
@base2446 2 жыл бұрын
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?
@danimunf
@danimunf 2 жыл бұрын
i'm curious about this as well
@dapodix
@dapodix Жыл бұрын
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.
@inancgumus4125
@inancgumus4125 Жыл бұрын
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.
@RobertLugg
@RobertLugg 2 жыл бұрын
Why did you use pointers for the games?
@inancgumus4125
@inancgumus4125 Жыл бұрын
It’s because the game type implements the print method with a pointer receiver.
@ismail2198
@ismail2198 2 жыл бұрын
Merhaba iyi günler. Bir sorum olacaktı bu videonun Türkçe hali bulunuyor mu
@alperen6056
@alperen6056 3 жыл бұрын
İ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
@rd-pb5tj
@rd-pb5tj 4 жыл бұрын
excellent
@danimunf
@danimunf 2 жыл бұрын
could you or anybody here explain why the minecraft and tetris have the ampersand(&) ???
@joshuamarcano350
@joshuamarcano350 Жыл бұрын
🔥🔥🔥
@michaeltesfaalem3446
@michaeltesfaalem3446 4 ай бұрын
do i really want to code? nah? do i need to build a life stlye that needs to income? yes
@MaksymMinenko
@MaksymMinenko 2 жыл бұрын
Where's the github repo?
@xuzhangning
@xuzhangning 3 жыл бұрын
11:09 nice to know
@reesewilson
@reesewilson 3 жыл бұрын
Do I really think I understand Go interfaces? Yes, I thought I did. Then I watched this video, and I still think I did
@rfatdinc4157
@rfatdinc4157 3 жыл бұрын
Biliyorum Ingilizce onemli yazilimda.Keske turkceside olsaydi yinede tesekkur ederim.
@thachnnguyen
@thachnnguyen 2 жыл бұрын
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.
Golang: The Last Interface Explanation You'll Ever Need
17:58
Flo Woelki
Рет қаралды 12 М.
Advanced Golang: Channels, Context and Interfaces Explained
22:17
Code With Ryan
Рет қаралды 119 М.
Magic or …? 😱 reveal video on profile 🫢
00:14
Andrey Grechka
Рет қаралды 90 МЛН
GIANT Gummy Worm Pt.6 #shorts
00:46
Mr DegrEE
Рет қаралды 40 МЛН
Why I'm learning Go
21:35
Web Dev Cody
Рет қаралды 65 М.
Beginners Should Think Differently When Writing Golang
11:35
Anthony GG
Рет қаралды 109 М.
This Will Make Everyone Understand Golang Interfaces
21:03
Anthony GG
Рет қаралды 51 М.
Why Signals Are Better Than React Hooks
16:30
Web Dev Simplified
Рет қаралды 476 М.
Why #Go Interfaces? / #Golang Interfaces Tutorial
9:41
defer panic
Рет қаралды 35 М.
Why I Use Golang In 2024
9:21
ThePrimeTime
Рет қаралды 312 М.
01. Russ Cox - Go Testing By Example | GopherConAU 2023
43:57
GopherConAU
Рет қаралды 14 М.
Go Pointers: When & How To Use Them Efficiently
14:09
Anthony GG
Рет қаралды 77 М.