Go - can someone explain why empty interfaces can hold any value, where it seems "regular" interfaces only define functions? In other words, why can the empty interface hold something other than a function definition?
new to Go and interfaces in general...
2024-11-23 ยท 1 year ago
2 Comments โ
๐ฒ greg ยท 2024-11-23 at 19:36:
Interfaces constrain the values they contain to values whose type implements at least the methods specified in the interface.
The empty interface specifies no methods, so a value of any type satisfies it: they all implement at least no methods.
๐ gritty [OP] ยท 2024-11-23 at 22:05:
I guess that makes sense. I first saw this when reading about using an interface as a value in a map for json.