awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
deckarep avatar

deckarep/golang-set

0
View on GitHub↗
4,690 stars·286 forks·Go·54 views

Golang Set

This project is a set theory library for Go that provides a data structure for storing unique elements of any comparable type using generics. It serves as a tool for managing unique collections and performing mathematical operations such as intersections and differences.

The library provides synchronized collections to prevent data races during concurrent read and write operations. It also supports converting unique collections to and from JSON arrays for data persistence and network transmission.

The implementation covers membership testing, collection cloning, and size calculation. It includes utilities for verifying set equality and exporting unique collections into sorted lists. Additional capabilities include channel-based iteration for sequential processing of items.

Features

  • Go Generic Collections - Provides a specialized generic set implementation for Go to manage unique collections of any comparable type.
  • Unordered Unique Collection Management - Provides a generic data structure to store unordered groups of comparable elements while automatically preventing duplicates.
  • Map-Based Set Implementations - Uses a Go map with empty structs to ensure uniqueness and constant-time membership lookups.
  • Membership Testing - Includes utilities to verify if a single element or a group of elements exists within the collection.
  • Set Comparison Utilities - Enables verifying if two collections contain the exact same set of elements regardless of order.
  • Mutexes and Locks - Implements mutual exclusion locks to synchronize concurrent read and write operations and prevent data races.
  • Generic Type Constraints - Employs Go generics with comparable constraints to ensure the set handles any valid key type safely.
  • Set Operations - Implements mathematical set operations such as intersections and differences to filter or compare groups.
  • Set Theory Algorithms - Implements mathematical set operations including intersections and differences on collections of unique data.
  • Generic Data Structures - Implements a type-safe, generic set in Go to handle diverse element types without boilerplate code.
  • Thread-Safe Collection Operations - Synchronizes concurrent read and write operations across multiple threads using locks to prevent data races.
  • Concurrent Collections - Provides synchronized collections that prevent data races during concurrent read and write operations.
  • JSON Serializers - Converts unique collections of elements to and from JSON arrays for persistent storage or network transmission.
  • JSON Serialization Libraries - Supports converting unique collections into JSON arrays and restoring them for persistence or transmission.
  • Set to Slice Exports - Converts unique collections into sorted slices to provide a predictable iteration sequence.
  • Set-to-JSON Converters - Supports converting unique collections to and from JSON arrays for data persistence and network transmission.
  • Shared Data Synchronization - Manages shared sets of unique elements across multiple threads using mutexes to prevent memory corruption.
  • Sorted Element Exports - Converts unique collections into sorted lists, ensuring a predictable sequence and handling floating-point edge cases.
  • Interface-Implementation Separation - Separates thread-safe and non-thread-safe behaviors through a shared interface to allow flexible concurrency models.
  • Data Structures - High-performance set implementation with thread-safe options.
  • Data Structures - Set collection implementation.

Star history

Star history chart for deckarep/golang-setStar history chart for deckarep/golang-set

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Golang Set

These projects share indexed features with Golang Set. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • zyedidia/genericzyedidia avatar

    zyedidia/generic

    1,347View on GitHub↗

    This project is a comprehensive library of type-safe, high-performance data structures for Go. By leveraging language-level generics, it provides reusable containers and algorithms that eliminate the need for runtime type assertions or interface casting, ensuring efficient and type-safe data management. The library distinguishes itself through its support for persistent data structures and specialized indexing. It utilizes copy-on-write semantics and memory sharing to maintain multiple versions of a collection, allowing for efficient modifications without duplicating entire datasets. Addition

    Godata-structuresgenericsgo
    View on GitHub↗1,347
  • workiva/go-datastructuresWorkiva avatar

    Workiva/go-datastructures

    7,901View on GitHub↗

    go-datastructures is a collection of thread-safe and lock-free data structures designed for high-performance concurrent applications in Go. It provides a modular library of specialized algorithmic toolsets, including a lock-free collection library and an immutable data structure library. The project distinguishes itself through a suite of persistent AVL trees and hash array mapped tries that use branch-copying to preserve previous versions. It also implements non-blocking hash maps, queues, and tries that enable linearizable snapshots and concurrent updates without the use of mutual exclusion

    Go
    View on GitHub↗7,901
  • crazyguitar/pysheeetcrazyguitar avatar

    crazyguitar/pysheeet

    8,150View on GitHub↗

    pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns for advanced Python development, system integration, and high-performance computing. It serves as a comprehensive guide for implementing low-level network programming, native C extensions, and asynchronous and concurrent programming. The project provides specialized frameworks for the development and deployment of large language models, including tools for distributed GPU inference and high-performance serving. It also includes detailed patterns for high-performance computing

    Python
    View on GitHub↗8,150
  • loong/go-concurrency-exercisesloong avatar

    loong/go-concurrency-exercises

    1,949View on GitHub↗

    This project is an educational resource designed to help developers master concurrent execution and synchronization patterns in Go. It provides a structured collection of hands-on coding exercises and test-driven challenges that focus on the practical implementation of multi-threaded software engineering practices. The repository emphasizes the core mechanisms of Go concurrency, including channel-based communication, mutex locking, and lifecycle coordination. It covers essential patterns such as managing background tasks, implementing graceful service shutdowns, and enforcing rate limits or e

    Go
    View on GitHub↗1,949
Compare all 30 related projects→

Frequently asked questions

What does deckarep/golang-set do?

This project is a set theory library for Go that provides a data structure for storing unique elements of any comparable type using generics. It serves as a tool for managing unique collections and performing mathematical operations such as intersections and differences.

What are the main features of deckarep/golang-set?

The main features of deckarep/golang-set are: Go Generic Collections, Unordered Unique Collection Management, Map-Based Set Implementations, Membership Testing, Set Comparison Utilities, Mutexes and Locks, Generic Type Constraints, Set Operations.

Which projects share features with deckarep/golang-set?

Projects with overlapping indexed features include: zyedidia/generic — This project is a comprehensive library of type-safe, high-performance data structures for Go. By leveraging… workiva/go-datastructures — go-datastructures is a collection of thread-safe and lock-free data structures designed for high-performance… crazyguitar/pysheeet — pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns… teivah/100-go-mistakes — 100 Go Mistakes is a reference book and code review companion that catalogues frequent Go programming anti-patterns… loong/go-concurrency-exercises — This project is an educational resource designed to help developers master concurrent execution and synchronization… nalgeon/redka — Redka is a SQL-backed key-value store that implements a Redis-compatible interface. It acts as a relational data…