3 ms·
I think the reasoning is that interfaces are implemented by a dynamic lookup. Part of Go's philosophy is that things that could be expensive (function calls) sh
by fwip 2y ago
I think the reasoning is that interfaces are implemented by a dynamic lookup. Part of Go's philosophy is that things that could be expensive (function calls) should be visually distinct from cheap things.
Struct field access is cheap, hopping through a dynamic dispatch table is less cheap.
- rtpg 2y agoTook me a second to grok why the field access would require dynamic dispatch and it's because you have to deal with differing layout between structs.