Skip to content
This repository has been archived by the owner. It is now read-only.
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Just write your own map wrappers

mapgen

A tool which generates thread safe maps for Go.

Features:

  • Supports any key/value pair supported by Go's native maps
  • Allows complex operations via Lock() and Unlock()
  • Generated code conforms to golint and gofmt
  • Allows custom types
  • Sensible default file name and map name
  • Optionally generates using sync.RWMutex

Generated example located in examples/

Install

go get -u github.com/ammario/mapgen/cmd/mapgen

Usage

Create string -> int map:

$ mapgen string/int
Wrote string_int_map_gen.go

Create string -> *bytes.Buffer map using a read-write mutex:

$ mapgen --rwmu string/*bytes.Buffer
Wrote string_buffer_map_gen.go

Help:

usage: mapgen [<flags>] <keyvalue types> [<tname>]

Flags:
      --help       Show context-sensitive help (also try --help-long and --help-man).
  -p, --pkg="."    package name
  -v, --verbose    highly descriptive output
  -f, --file=FILE  output file name
      --rwmu       Use RWMutex

Args:
  <keyvalue types>  Key and value types, e.g `string/int`
  [<tname>]         name of generated type

About

Generate thread-safe, type-safe Go maps

Topics

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.