Abstract
Go 1.24's new weak package brings powerful memory management capabilities to Go developers. This session takes you on a deep dive into weak references - a feature that allows you to reference objects without preventing garbage collection.
What you'll learn:
- Understanding weak pointers and how they differ from regular references
- Practical implementation patterns for caches, canonicalization maps, and circular reference handling
- Performance implications and memory optimization techniques
- Common pitfalls and best practices
- The journey of weak references in Go: years of community discussion and design evolution
We'll walk through real-world code examples, demonstrating how the weak package simplifies designs that previously required complex workarounds. You'll see demonstrations of memory-efficient implementations, backed by performance metrics showing the impact on real applications.
Whether you're building memory-sensitive applications, implementing caching systems, or just want to deepen your understanding of Go's memory model, this session will equip you with practical knowledge you can apply immediately. Come discover how this small but mighty addition to the standard library can transform your approach to memory management in Go.