Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
A beleza das interfaces em Go
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
pcasarettto
July 09, 2016
Programming
330
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
A beleza das interfaces em Go
pcasarettto
July 09, 2016
More Decks by pcasarettto
See All by pcasarettto
Bundler
pcasarettto
1
150
Other Decks in Programming
See All in Programming
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
190
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
390
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
300
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
840
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
760
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
The Rails Doctrine Decade
koic
2
460
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
280
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
110
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
130
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
300
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
So, you think you're a good person
axbom
PRO
2
2.2k
Amusing Abliteration
ianozsvald
1
320
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The untapped power of vector embeddings
frankvandijk
2
1.9k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
510
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Designing for humans not robots
tammielis
254
26k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
A beleza das interfaces em Go
Paulo Casaretto @pcasaretto
Interface
Interfaces em Go
None
None
None
io.Reader io.Writer
io.Copy io.Reader io.Writer
Reader Example: GIF Decoder
os.File deblockingReader lzw.Reader
os.File | deblockingReader | lzw.Reader
os.File deblockingReader lzw.Reader io.Reader
Usando interfaces
None
None
None
None
Two relevant Go proverbs
THE BIGGER THE INTERFACE, THE WEAKER THE ABSTRACTION
interface{} says nothing
ProTip
• https://blog.golang.org/error-handling-and-go • https://blog.golang.org/errors-are-values • https://blog.golang.org/gif-decoder-exercise- in-go-interfaces • https://go-proverbs.github.io/ Resources
Thanks!
panic(“Thanks!”)
None
None
None