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 的并集.
# Interfaces
* Set接口类型,规定了一个Set拥有的基本操作
*/.