{"repo":"chen3feng/stl4go","free":true,"listed":false,"github":"https://github.com/chen3feng/stl4go","clone":"git clone https://github.com/chen3feng/stl4go.git","description":"Generic Container and Algorithm Library for Go","language":"Go","stars":344,"topics":["go","golang","stl"],"license":"Apache-2.0","category":"deployment-docker-iac","readme_excerpt":"stl4go -- STL for Golang English 简体中文 This library contains generic containers and algorithms, it is designed to be STL for Golang. This library depends on go generics, which is introduced in 1.18+. Package stl4go is a generic container and algorithm library for go. Introduce This library is a general container and algorithm library that attempts to learn from the C++ STL implementation after Go 1.18 began to support generics. (Personally I's totally unacceptable for me use to languages without generics, so I didn't try it until go 1.18). The code quality of this library is quite high and follows the latest best practices in the industry. Test coverage is close💯%, ✅，CI, and gosec check are both set up, got score。 Features As we all know, C++'s STL includes containers, algorithms, and iterators relate the two. Due to language limitations, it is impossible and unnecessary to completely imitate the interface of C++ STL in Go, so C++ users may feel familiar, and sometimes (maybe) feel more convenient. Containers There are following container interfaces: - Container is the base interface for all containers - Map is a key-value associative container - Set is set container - SortedMap is a ordered key-value associative container - SortedSet is a ordered set container - Queue is a FIFO Queue - Deque is a double ended queue Different interface has different methods. The Container interface has following methods: - IsEmpty() bool returns whether the container is empty - Len() int retu","default_branch":null,"files":null,"tree":[],"storefront":"/r/chen3feng","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/chen3feng/stl4go/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}