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
280
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
220
Прозрачный gRPC-proxy один-ко-многим - Андрей Смирнов
gopherconrussia
0
140
Из Python в Go и обратно - Андрей Минкин
gopherconrussia
0
140
Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS - Иван Осадчий
gopherconrussia
0
170
Пакет embed: распаковка знаний - Илья Данилкин
gopherconrussia
0
220
За пару мгновений до main() - Олег Ковалев
gopherconrussia
0
130
Тестирование в Go c Ginkgo и Gomega - Александр Егурнов
gopherconrussia
0
120
Building an Autoscaling HTTP Proxy for Kubernetes - Aaron Schlesinger
gopherconrussia
0
130
Designing Pluggable Idiomatic Go Applications – Mark Bates
gopherconrussia
0
65
Other Decks in Programming
See All in Programming
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
2.9k
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
790
「兵法」から見る質とスピード
ickx
0
260
Gleamという選択肢
comamoca
6
690
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
110
Blueskyのプラグインを作ってみた
hakkadaikon
1
510
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
120
Effect の双対、Coeffect
yukikurage
5
1.4k
Cloudflare Realtime と Workers でつくるサーバーレス WebRTC
nekoya3
0
390
GoのWebAssembly活用パターン紹介
syumai
3
9.9k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
300
カクヨムAndroidアプリのリブート
numeroanddev
0
410
Featured
See All Featured
Navigating Team Friction
lara
186
15k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
130
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Docker and Python
trallard
44
3.4k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Fireside Chat
paigeccino
37
3.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