文件名称:iter:Go实现C ++ STL迭代器和算法
文件大小:36KB
文件格式:ZIP
更新时间:2024-03-28 10:37:08
algorithms datastructures stl Go
重复 去实现C ++ STL迭代器和算法。 更少的手写循环,更具表现力的代码。 README翻译: 动机 尽管Go没有泛型,但我们值得拥有可重用的通用算法。 iter可通过多种方式帮助改进Go代码: 一些简单的循环不太可能是错误的或效率低下的,但是调用算法将使代码更简洁,更易于理解。 如 , ,。 有些算法并不复杂,但是正确编写它们并不容易。 重用代码使他们更容易推理正确性。 例如 , , 。 STL还包括一些复杂的算法,可能需要花费数小时才能使其正确。 手动实施它是不切实际的。 如 , , 。 库中的实现包含一些难以察觉的性能优化。 例如, 通过一次获取两个元素来完成。 这样,显着减少了比较的总数。 还有其他具有相似目标的库,例如 , 和 。 是什么让iter与众不同: 非侵入性的。 iter倾向于引入Go中的现有容器(切片,字符串,list.List等),而不
【文件预览】:
iter-master
----go.mod(85B)
----codecov.yml(28B)
----go.sum(968B)
----misc_test.go(2KB)
----iterators_test.go(7KB)
----cover.sh(129B)
----README_ZH.md(6KB)
----.travis.yml(253B)
----LICENSE(1KB)
----examples_test.go(2KB)
----reflection.go(6KB)
----README.md(7KB)
----iterators.go(9KB)
----algorithm_test.go(27KB)
----funcs.go(2KB)
----algorithm.go(69KB)
----.gitignore(232B)
----misc.go(3KB)
----iterator.go(7KB)