Explaining nil interface{} gotcha in Go
Read OriginalThis technical article delves into a common 'gotcha' in Go programming: why a nil pointer of a specific type (e.g., *Foo) assigned to an empty interface (interface{}) does not compare as equal to nil. It explains that an interface value is a (type, value) pair, where nil is (no type, no value), and a nil pointer is (concrete type, nil). The post includes code examples and discusses using reflection to properly check for nil pointers within interfaces.
0 comments
Comments
No comments yet
Be the first to share your thoughts!
Browser Extension
Get instant access to AllDevBlogs from your browser
Top of the Week
1
Quoting Thariq Shihipar
Simon Willison
•
2 votes
2
Using Browser Apis In React Practical Guide
Jivbcoop
•
2 votes
3
Better react-hook-form Smart Form Components
Maarten Hus
•
2 votes
4
Top picks — 2026 January
Paweł Grzybek
•
1 votes
5
In Praise of –dry-run
Henrik Warne
•
1 votes
6
Deep Learning is Powerful Because It Makes Hard Things Easy - Reflections 10 Years On
Ferenc Huszár
•
1 votes
7
Vibe coding your first iOS app
William Denniss
•
1 votes
8
AGI, ASI, A*I – Do we have all we need to get there?
John D. Cook
•
1 votes
9
Dew Drop – January 15, 2026 (#4583)
Alvin Ashcraft
•
1 votes