Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
A beleza das interfaces em Go
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
pcasarettto
July 09, 2016
Programming
310
2
Share
A beleza das interfaces em Go
pcasarettto
July 09, 2016
More Decks by pcasarettto
See All by pcasarettto
Bundler
pcasarettto
1
140
Other Decks in Programming
See All in Programming
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
580
分析エージェント精度向上における データアナリストの役割
oura_shoya
0
120
AI 時代のソフトウェア設計の学び方
masuda220
PRO
28
9.9k
Claspは野良GASの夢をみるか
takter00
0
130
AIエージェントの隔離技術の徹底比較
kawayu
0
430
Zod v4 Codec でスキーマに型変換を埋め込む REST API 設計 #TSKaigi2026
ryutaro_yako
0
150
今さら聞けないCancellationToken
htkym
0
200
RTSPクライアントを自作してみた話
simotin13
0
210
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
130
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
150
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.2k
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
270
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
New Earth Scene 8
popppiees
3
2.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
A designer walks into a library…
pauljervisheath
211
24k
Building Adaptive Systems
keathley
44
3k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Mobile First: as difficult as doing things right
swwweet
225
10k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Utilizing Notion as your number one productivity tool
mfonobong
4
310
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
370
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
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