A Simple Go Collection Framework

The Go language designers kept Go simple, and fairly low level, but included enough support for interfaces and generics to allow the development of a nice, easy-to-use collection framework. This project is an attempt at such a framework. It was ported (and Gopher-ized) from the Java version.

Highlighted Components

The following highlights the types of collections that this project provides:

  • Set[T] – an ordered collection where duplicates are not allowed
  • List[T] – a sortable collection with implicit numberic indexes
  • Catalog[K, V] – a sortable collection with explicit arbitrary typed keys
  • Queue[T] – a collection that supports first-in-first-out (FIFO) semantics
  • Stack[T] – a collection that supports last-in-first-out (LIFO) semantics

Quick Links

For more detail on this project click on the following links:

Getting Started

To include this package in your own Go project:

import (
	"github.com/craterdog/go-collection-framework/abstractions"
	"github.com/craterdog/go-collection-framework/collections"
)

Contributing

Project contributors are always welcome. Create a fork of the project and add cool new things to the framework. When you are ready to contribute the changes create a subsequent “pull request”. Any questions and comments can be sent to [email protected].

Copyright © 2009 – 2022 Crater Dog Technologies™. All rights reserved.

GitHub

View Github