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 优化之路——空结构

Golang 优化之路-空结构[转]

golang - interface的作用

golang中接口interface和struct结构类的分析

Golang 基础:Go Module, for range, 切片, map, struct 等使用和实现

Golang 基础:Go Module, for range, 切片, map, struct 等使用和实现