golang:空struct作用
Posted live4m
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang:空struct作用相关的知识,希望对你有一定的参考价值。
struct{}可作为占位符,不占用内存.
1.利用map实现set:
mp:=make(map[string]struct{})
原理是不用value,用占位符即可.
2.channel控制并发,用struct{}作为信号量:
ch:=make(chan strcuct{},1)
通过往ch丢入struct{}控制并发量.
3.只包含方法的空结构体也会用到struct{}
以上是关于golang:空struct作用的主要内容,如果未能解决你的问题,请参考以下文章
golang中接口interface和struct结构类的分析