package
0.0.0-20240218084217-da8eaee5daba
Repository: https://github.com/hq-cml/go-case.git
Documentation: pkg.go.dev

# README

利用golang内置的map实现一个set功能。

set.go定义了一个Set的通用行为,即一个Set接口。

HashSet类型实现了Set接口(利用golang内置的map)。用key存储set的值key用interface{}类型,表示set的值是任意类型 val用bool类型(因为1,省空间 2,用起来方便,可以表示是否存在等)。

此外,set.go中还定义了一系列公用函数,他们作为高级功能,没必要每种实现各自重复实现,而是应该基础方法组装而成。

测试: go test -run=HashSetCreation github.com/hq-cml/go-case/set -v #测试创建 go test -run=SetOperation github.com/hq-cml/go-case/set -v #测试操作

# Functions

生成集合 self 对集合 other 的差集.
生成集合 self 和集合 other 的交集.
判断value是否实现了Set接口.
判断集合 self 是否是集合 other 的超集.
“构造”函数.
TODO 这个地可以做成可以生成多种Set版本的功能.
生成集合 self 和集合 other 的对称差集.
生成集合 self 和集合 other 的并集.

# Structs

* *HashSet结构需要实现了SetIntfs接口 */.

# Interfaces

* Set接口类型,规定了一个Set拥有的基本操作 */.