> ## Documentation Index
> Fetch the complete documentation index at: https://osinet.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Go Container

> Type-safe, generic data structures for Go — OrderedMap, Queue, WaitableQueue, Set, and Stack.

Go Container is a Go module that provides minimal, high-performance implementations of common data structures using Go generics. Every type is fully type-safe, with multiple backing storage implementations so you can tune for your workload.

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/quickstart">
    Install the module and write your first type-safe container in minutes.
  </Card>

  <Card title="OrderedMap" icon="map" href="/data-structures/ordered-map">
    A map that preserves insertion order, with optional LRU recency mode.
  </Card>

  <Card title="Queue & WaitableQueue" icon="layer-group" href="/data-structures/queue">
    Classic and concurrency-safe queues with flow-control watermarks.
  </Card>

  <Card title="Set" icon="circle-nodes" href="/data-structures/set">
    Idiomatic Go sets with union, intersection, and difference operations.
  </Card>

  <Card title="Stack" icon="bars-staggered" href="/data-structures/stack">
    LIFO stack with multiple backing implementations.
  </Card>

  <Card title="Choosing an Implementation" icon="code-compare" href="/guides/choosing-implementation">
    Pick the right backing store for your performance requirements.
  </Card>
</CardGroup>

## Get started in three steps

<Steps>
  <Step title="Install the module">
    Add `github.com/fgm/container` to your Go module.

    ```bash theme={null}
    go get github.com/fgm/container
    ```
  </Step>

  <Step title="Import and use a data structure">
    Choose the type you need and create an instance with a size hint.

    ```go theme={null}
    import "github.com/fgm/container/queue"

    q := queue.NewSliceQueue[int](100)
    q.Enqueue(42)
    v, ok := q.Dequeue() // v=42, ok=true
    ```
  </Step>

  <Step title="Explore the reference">
    Browse the [Data Structures](/data-structures/ordered-map) section to learn every method and option available.
  </Step>
</Steps>

<Note>
  All implementations except `WaitableQueue` are **not concurrency-safe**. If you need a queue safe for use across goroutines, see [WaitableQueue](/data-structures/waitable-queue).
</Note>
