go empty struct和interface
struct{}
struct{}类型的占用内存大小为0:
unsafe.Sizeof(struct{}{})
//输出结果:0
- 空结构体不占用空间(The empty struct consumes no storage)
- 空结构体的切片只占用切片头的空间(Slices of struct{}s consume only the space for their slice header)
- 用于控制而非数据信息:chan struct{}
- 实现C++的set:map[string]struct{}
interface{}
空interface没有方法,故所有类型均实现了interface(包括值接收者和指针接收者);
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至yj.mapple@gmail.com
文章标题:go empty struct和interface
文章字数:113
本文作者:melonshell
发布时间:2020-07-01, 19:48:32
最后更新:2020-10-04, 13:36:45
原始链接:http://melonshell.github.io/2020/07/01/go16_empty_struct_interface/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。