go-frameworks

module
v0.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 17, 2022 License: MIT

README

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 parameterized collections that this project provides:

  • Queue[T] - A sequential collection that supports first-in-first-out (FIFO) semantics.
  • Stack[T] - A sequential collection that supports last-in-first-out (LIFO) semantics.
  • 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 arbitrarily typed keys.

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/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 craterdog@gmail.com.

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

Directories

Path Synopsis
This package defines abstractions that are useful to agents that perform a recursive descent while processing.
This package defines abstractions that are useful to agents that perform a recursive descent while processing.
This package provides a simple set of Go based collection types that can be used to address the needs of higher level programming tasks that often involve sequences of items.
This package provides a simple set of Go based collection types that can be used to address the needs of higher level programming tasks that often involve sequences of items.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL