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
Learning Unsung Gotchas of Go - Rashmi Nagpal
Search
GopherCon Russia
April 23, 2021
Programming
1
200
Learning Unsung Gotchas of Go - Rashmi Nagpal
GopherCon Russia
April 23, 2021
Tweet
Share
More Decks by GopherCon Russia
See All by GopherCon Russia
Go Profiling from Bottom Up - Felix Geisendörfer
gopherconrussia
0
180
Прозрачный gRPC-proxy один-ко-многим - Андрей Смирнов
gopherconrussia
0
100
Из Python в Go и обратно - Андрей Минкин
gopherconrussia
0
110
Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS - Иван Осадчий
gopherconrussia
0
130
Пакет embed: распаковка знаний - Илья Данилкин
gopherconrussia
0
160
За пару мгновений до main() - Олег Ковалев
gopherconrussia
0
95
Тестирование в Go c Ginkgo и Gomega - Александр Егурнов
gopherconrussia
0
91
Building an Autoscaling HTTP Proxy for Kubernetes - Aaron Schlesinger
gopherconrussia
0
94
Designing Pluggable Idiomatic Go Applications – Mark Bates
gopherconrussia
0
64
Other Decks in Programming
See All in Programming
"config" ってなんだ? / What is "config"?
okashoi
0
240
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
810
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
270
新宿ダンジョンを可視化してみた
satoshi7190
2
260
VS Code をプロダクトにどう取り込むか
onomax
1
370
Snowflakeで眠ったデータを起こそう!
estie
0
120
PHPはいつから死んでいるかの調査
chiroruxx
1
400
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1k
Ruby GitHub Packages
bkuhlmann
0
630
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
950
Featured
See All Featured
Bash Introduction
62gerente
604
210k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Adopting Sorbet at Scale
ufuk
68
8.6k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
7
1k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Thoughts on Productivity
jonyablonski
58
3.8k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Art, The Web, and Tiny UX
lynnandtonic
289
19k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
Transcript
Learning Unsung Gotchas in Go Gopher Artwork by Ashley McNamara
Rashmi Nagpal Software Engineering Intern, LoopUp GopherCon Russia
Range iterator returns “two values”
None
Defer doesn't work for code blocks, only for the whole
function
None
Same Address for Different Zero-sized Variables
None
Iterating through map using “for range”
None
WaitGroup allows the goroutines to cleanly exit before exiting the
main program
None
Read and Write Operation Reordering
None
Unmarshalling JSON numbers into interface values
None
None
Recovering from Panic
None
None
Map is a reference
None
None
Data race condition
None
None
For loop iterators can be reused in go routine
None
None
Defer calls are executed in LIFO manner
None
None
Not to use More() to check if there are remaining
JSON objects in a stream
None
None
Non-ASCII punctuation characters aren't supported in struct tags
None
None
Fork-join model should be handled carefully
None
None
Deadlock!
None
None
Bibliography Resources 1. Documentation - The Go Programming Language 2.
A Go Gotcha: When Closures and Goroutines Collide 3. Darker Corners of Go – Rytis Biel 4. kstenerud/go-gotchas: Common gotchas with golang and how to work around them Visuals 1. ashleymcnamara/gophers: Gopher Artwork by Ashley McNamara
Спасибо
QnA