首先,在golang中空结构体是不占内存的,这点我们可以通过unsafe包中的sizeof函数查看


然后,所有空结构体都占同一个内存。

那么,空结构体有什么用呢??
首先,空结构体与map结合可以实现hashset。

其次,channel中,如果我们只是想传个消息却不携带任何信息,我们可以在channel中传空结构体,这样可以节省内存的使用。
Go语言中空结构体的妙用:内存优化与应用实例
本文探讨了Go语言中空结构体的内存特性,如何利用它实现hashset和高效通道通信,并举例说明其在实际开发中的应用价值。
首先,在golang中空结构体是不占内存的,这点我们可以通过unsafe包中的sizeof函数查看


然后,所有空结构体都占同一个内存。

那么,空结构体有什么用呢??
首先,空结构体与map结合可以实现hashset。

其次,channel中,如果我们只是想传个消息却不携带任何信息,我们可以在channel中传空结构体,这样可以节省内存的使用。
1352
1525

被折叠的 条评论
为什么被折叠?