Skip to content

houz42/abstract

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Reference

Missing abstract data types for Go

We've already got generic type-safe slices and maps since Go 1.21, but we want more.

Sub packages provided here share some common patterns:

Roadmap

  • set
  • heap
  • list
  • skip list
  • ring
  • stack?
  • queue?
  • chainable maps?
  • chainable slices?

Usage

go get github.com/houz42/abstract@latest

If you want to try the experimental iterator and range func features, set environment variable GOEXPERIMENT=rangefunc before running any go command:

GOEXPERIMENT=rangefunc go install my/program
GOEXPERIMENT=rangefunc go build my/program
GOEXPERIMENT=rangefunc go test my/program
GOEXPERIMENT=rangefunc go test my/program -bench=.

See the range func wiki for more details.

Development

To develop with the experimental features, follow the gist to install gotip and least gopls and configure vs code.

About

The missging abstract data types for Go

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages