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
230
Прозрачный gRPC-proxy один-ко-многим - Андрей Смирнов
gopherconrussia
0
150
Из Python в Go и обратно - Андрей Минкин
gopherconrussia
0
150
Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS - Иван Осадчий
gopherconrussia
0
180
Пакет embed: распаковка знаний - Илья Данилкин
gopherconrussia
0
240
За пару мгновений до main() - Олег Ковалев
gopherconrussia
0
140
Тестирование в Go c Ginkgo и Gomega - Александр Егурнов
gopherconrussia
0
130
Building an Autoscaling HTTP Proxy for Kubernetes - Aaron Schlesinger
gopherconrussia
0
130
Designing Pluggable Idiomatic Go Applications – Mark Bates
gopherconrussia
0
71
Other Decks in Programming
See All in Programming
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
11
12k
퇴근 후 1억이 거래되는 서비스 만들기 | 내가 AI를 사용하는 방법
maryang
2
560
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
210
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
4
630
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
290
OSS開発者の憂鬱
yusukebe
12
4.1k
GraalVM Native Image トラブルシューティング機能の最新状況(2025年版)
ntt_dsol_java
0
140
Vueで学ぶデータ構造入門 リンクリストとキューでリアクティビティを捉える / Vue Data Structures: Linked Lists and Queues for Reactivity
konkarin
1
260
モビリティSaaSにおけるデータ利活用の発展
nealle
0
180
Amazon Bedrock Knowledge Bases Hands-on
konny0311
0
150
Dive into Triton Internals
appleparan
0
490
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
500
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.1k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
How STYLIGHT went responsive
nonsquared
100
5.9k
The World Runs on Bad Software
bkeepers
PRO
72
12k
It's Worth the Effort
3n
187
28k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Music & Morning Musume
bryan
46
6.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
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