Escape Analysis in Go: Stack vs. Heap Allocations Explained | Virexa