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
270
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
210
Прозрачный gRPC-proxy один-ко-многим - Андрей Смирнов
gopherconrussia
0
130
Из Python в Go и обратно - Андрей Минкин
gopherconrussia
0
130
Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS - Иван Осадчий
gopherconrussia
0
150
Пакет embed: распаковка знаний - Илья Данилкин
gopherconrussia
0
210
За пару мгновений до main() - Олег Ковалев
gopherconrussia
0
120
Тестирование в Go c Ginkgo и Gomega - Александр Егурнов
gopherconrussia
0
110
Building an Autoscaling HTTP Proxy for Kubernetes - Aaron Schlesinger
gopherconrussia
0
110
Designing Pluggable Idiomatic Go Applications – Mark Bates
gopherconrussia
0
65
Other Decks in Programming
See All in Programming
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
250
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.3k
Learning Kotlin with detekt
inouehi
1
220
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
670
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
250
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
870
Expoによるアプリ開発の現在地とReact Server Componentsが切り開く未来
yukukotani
2
300
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
21
4.4k
Jasprが凄い話
hyshu
0
200
運用しながらリアーキテクチャ
nealle
0
220
ML.NETで始める機械学習
ymd65536
0
260
【AI 自走型】Figma からデザインコーディングを行うプロンプト
tetsuro_b
0
110
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Building Adaptive Systems
keathley
40
2.4k
RailsConf 2023
tenderlove
29
1k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Why Our Code Smells
bkeepers
PRO
336
57k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.6k
Automating Front-end Workflow
addyosmani
1369
200k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
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