golang

package module
v1.1.18 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2021 License: MIT Imports: 0 Imported by: 0

README

GoDoc Report card

golang

Useful libs or tools for Golang

GoLibs

  • webhdfs - Hadoop WebHDFS REST API client library for Golang with fs module like (asynchronous) interface.
  • Thread — Thread should be used for such as calling OS services or non-Go library functions that depend on per-thread state, as runtime.LockOSThread().
  • BurstLimiter — BurstLimiter behaves like Limiter in time, BurstLimiter controls how frequently events are allowed to happen. It implements a "token bucket" of size b, initially full、empty or any size, and refilled by PutToken or PutTokenN. The difference is that time/rate.Limiterinitially full and refilled at rate r tokens per second.
  • generator — Generator behaves like Generator in python or ES6, with yield and next statements.
  • signal — Signal enhances signal.Notify with the stacktrace of cgo.
  • sql — Enhance go std sql.
  • ternary_search_tree — A type of trie (sometimes called a prefix tree) where nodes are arranged in a manner similar to a binary search tree, but with up to three children rather than the binary tree's limit of two.
  • mux — Mux is a generic Go library to multiplex connections based on their payload. Using mux, you can serve gRPC, SSH, HTTPS, HTTP, Go RPC, and pretty much any other protocol on the same TCP listener.
  • SniffReader — A Reader that allows sniff and read from the provided input reader. data is buffered if Sniff(true) is called. buffered data is taken first, if Sniff(false) is called.
  • multiple_prefix - Prefixes for decimal and binary multiples, Prefixes for decimal multiples , Prefixes for binary multiples.
  • flag — Enhance go std flag, such as StringSlice that is a flag.Value that accumulates strings, e.g. --flag=one --flag=two would produce []string{"one", "two"}.
  • goroutine — goroutine is a collection of apis about goroutine.
    • ID() — returns goroutine id of the goroutine that calls it.
    • Lock — represents a goroutine ID, with goroutine ID checked, that is whether GoRoutines of lock newer and check caller differ.
  • hashring — hashring provides a consistent hashing function, read more about consistent hashing on wikipedia: Consistent_hashing.
  • RotateFile — RotateFile derived from os.File, and is designed to ease administration of systems that generate large numbers of files. It allows automatic rotation, removal, and handler of files. Each file may be handled daily, weekly, monthly, strftimely, time_layoutly or when it grows too large.

GoGenerateTools

  • go generate is only useful if you have tools to use it with! Here is an incomplete list of useful tools that generate code.

  • go-syncmap — Generates Go code using a package as a generic template for sync.Map.

  • go-syncpool — Generates Go code using a package as a generic template for sync.Pool.

  • go-atomicvalue — Generates Go code using a package as a generic template for atomic.Value.

  • go-option — Generates Go code using a package as a graceful option.

  • go-nulljson — Generates Go code using a package as a generic template that implements sql.Scanner and sql.Valuer.

  • go-enum — Generates Go code using a package as a generic template, which implements interface fmt.Stringer | binary | json | text | sql | yaml for enums.

  • go-import — Performs auto import of non go files.

  • go-sqlx — Generates Go code using a package as a generic template that implements sqlx.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
go
container/hashring
Package hashring provides a consistent hashing function.
Package hashring provides a consistent hashing function.
container/slice
A sequence of elements supporting sequential and parallel aggregate operations.
A sequence of elements supporting sequential and parallel aggregate operations.
container/stack
stack is a [stack](http://en.wikipedia.org/wiki/Stack_(abstract_data_type%29) is a last-in last-out data structure.
stack is a [stack](http://en.wikipedia.org/wiki/Stack_(abstract_data_type%29) is a last-in last-out data structure.
container/stream
A sequence of elements supporting sequential and parallel aggregate operations.
A sequence of elements supporting sequential and parallel aggregate operations.
container/traversal
https://en.wikipedia.org/wiki/Breadth-first_search https://en.wikipedia.org/wiki/Depth-first_search https://en.wikipedia.org/wiki/Tree_traversal#In-order_(LNR) https://en.wikipedia.org/wiki/Tree_traversal#Out-order_(RNL) https://en.wikipedia.org/wiki/Tree_traversal#Post-order_(LRN) https://en.wikipedia.org/wiki/Tree_traversal#Post-order_(LRN)
https://en.wikipedia.org/wiki/Breadth-first_search https://en.wikipedia.org/wiki/Depth-first_search https://en.wikipedia.org/wiki/Tree_traversal#In-order_(LNR) https://en.wikipedia.org/wiki/Tree_traversal#Out-order_(RNL) https://en.wikipedia.org/wiki/Tree_traversal#Post-order_(LRN) https://en.wikipedia.org/wiki/Tree_traversal#Post-order_(LRN)
container/trie_tree/ternary_search_tree
https://en.wikipedia.org/wiki/Ternary_search_tree In computer science, a ternary search tree is a type of trie (sometimes called a prefix tree) where nodes are arranged in a manner similar to a binary search tree, but with up to three children rather than the binary tree's limit of two.
https://en.wikipedia.org/wiki/Ternary_search_tree In computer science, a ternary search tree is a type of trie (sometimes called a prefix tree) where nodes are arranged in a manner similar to a binary search tree, but with up to three children rather than the binary tree's limit of two.
crypto/auth
https://www.oauth.com/oauth2-servers/client-registration/client-id-secret/ https://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml
https://www.oauth.com/oauth2-servers/client-registration/client-id-secret/ https://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml
crypto/rand
package rand_ Creating Random Strings in Go
package rand_ Creating Random Strings in Go
io
log
math/rand
Package rand implements math/rand functions in a concurrent-safe way with a global random source, independent of math/rand's global source.
Package rand implements math/rand functions in a concurrent-safe way with a global random source, independent of math/rand's global source.
net
net/ice
https://tools.ietf.org/html/rfc7064 https://tools.ietf.org/html/rfc7064 3.2.
https://tools.ietf.org/html/rfc7064 https://tools.ietf.org/html/rfc7064 3.2.
net/mux
Package mux is a library to multiplex network connections based on their payload.
Package mux is a library to multiplex network connections based on their payload.
net/resolver/unix
Package unix implements a resolver for unix targets.
Package unix implements a resolver for unix targets.
os
os/signal/cgo
Package cgo contains runtime support for code generated by the cgo tool.
Package cgo contains runtime support for code generated by the cgo tool.
pragma
Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties.
Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties.
runtime/cgosymbolizer
Package cgosymbolizer contains runtime support for code generated by the cgo tool.
Package cgosymbolizer contains runtime support for code generated by the cgo tool.
sync/leaderelection
Package leaderelection implements leader election of a set of endpoints.
Package leaderelection implements leader election of a set of endpoints.
testing/leakcheck
Package leakcheck contains functions to check leaked goroutines.
Package leakcheck contains functions to check leaked goroutines.
time/rate
Package rate The key observation and some code (shr) is borrowed from time/rate/rate.go
Package rate The key observation and some code (shr) is borrowed from time/rate/rate.go
util/function/consumer
A sequence of elements supporting sequential and parallel aggregate operations.
A sequence of elements supporting sequential and parallel aggregate operations.
util/object
object consists of {@code static} utility methods for operating on objects, or checking certain conditions before operation.
object consists of {@code static} utility methods for operating on objects, or checking certain conditions before operation.
util/object/internal/preconditions
Utility methods to check if state or arguments are correct.
Utility methods to check if state or arguments are correct.
util/spliterator
A sequence of elements supporting sequential and parallel aggregate operations.
A sequence of elements supporting sequential and parallel aggregate operations.
pkg
x/resilience
Package resilience provides helpers for dealing with resilience.
Package resilience provides helpers for dealing with resilience.
webserver Module
gocloud.dev Module
thirdparty
cmd
Deprecated: Use github.com/searKing/golang/tools/ instead.
Deprecated: Use github.com/searKing/golang/tools/ instead.
cmd/go-atomicvalue
go-atomicvalue Generates Go code using a package as a generic template for atomic.Value.
go-atomicvalue Generates Go code using a package as a generic template for atomic.Value.
cmd/go-enum
go-enum is a tool to automate the creation of methods that satisfy such interfaces: fmt ==> fmt.Stringer binary ==> encoding.BinaryMarshaler and encoding.BinaryUnmarshaler json ==> encoding/json.MarshalJSON and encoding/json.UnmarshalJSON text ==> encoding.TextMarshaler and encoding.TextUnmarshaler sql ==> database/sql.Scanner and database/sql/driver.Valuer yaml ==> gopkg.in/yaml.v3:yaml.Marshaler and gopkg.in/yaml.v3:yaml.Unmarshaler Given the name of a (signed or unsigned) integer type T that has constants defined, stringer will create a new self-contained Go source file implementing fmt ==> fmt.Stringer func (t T) String() string binary ==> encoding.BinaryMarshaler and encoding.BinaryUnmarshaler func (t T) MarshalBinary() (data []byte, err error) func (t *T) UnmarshalBinary(data []byte) error json ==> encoding/json.MarshalJSON and encoding/json.UnmarshalJSON func (t T) MarshalJSON() ([]byte, error) func (t *T) UnmarshalJSON(data []byte) error text ==> encoding.TextMarshaler and encoding.TextUnmarshaler func (t T) MarshalText() ([]byte, error) func (t *T) UnmarshalText(text []byte) error sql ==> database/sql.Scanner and database/sql/driver.Valuer func (t T) Value() (driver.Value, error) func (t *T) Scan(value interface{}) error yaml ==> gopkg.in/yaml.v3:yaml.Marshaler and gopkg.in/yaml.v3:yaml.Unmarshaler func (t T) MarshalYAML() (interface{}, error) func (t *T) UnmarshalYAML(unmarshal func(interface{}) error) error The file is created in the same package and directory as the package that defines T. It has helpful defaults designed for use with go generate.
go-enum is a tool to automate the creation of methods that satisfy such interfaces: fmt ==> fmt.Stringer binary ==> encoding.BinaryMarshaler and encoding.BinaryUnmarshaler json ==> encoding/json.MarshalJSON and encoding/json.UnmarshalJSON text ==> encoding.TextMarshaler and encoding.TextUnmarshaler sql ==> database/sql.Scanner and database/sql/driver.Valuer yaml ==> gopkg.in/yaml.v3:yaml.Marshaler and gopkg.in/yaml.v3:yaml.Unmarshaler Given the name of a (signed or unsigned) integer type T that has constants defined, stringer will create a new self-contained Go source file implementing fmt ==> fmt.Stringer func (t T) String() string binary ==> encoding.BinaryMarshaler and encoding.BinaryUnmarshaler func (t T) MarshalBinary() (data []byte, err error) func (t *T) UnmarshalBinary(data []byte) error json ==> encoding/json.MarshalJSON and encoding/json.UnmarshalJSON func (t T) MarshalJSON() ([]byte, error) func (t *T) UnmarshalJSON(data []byte) error text ==> encoding.TextMarshaler and encoding.TextUnmarshaler func (t T) MarshalText() ([]byte, error) func (t *T) UnmarshalText(text []byte) error sql ==> database/sql.Scanner and database/sql/driver.Valuer func (t T) Value() (driver.Value, error) func (t *T) Scan(value interface{}) error yaml ==> gopkg.in/yaml.v3:yaml.Marshaler and gopkg.in/yaml.v3:yaml.Unmarshaler func (t T) MarshalYAML() (interface{}, error) func (t *T) UnmarshalYAML(unmarshal func(interface{}) error) error The file is created in the same package and directory as the package that defines T. It has helpful defaults designed for use with go generate.
cmd/go-import
go-import Performs auto import of non go files.
go-import Performs auto import of non go files.
cmd/go-nulljson
go-nulljson Generates Go code using a package as a generic template that implements database/sql.Scanner and database/sql/driver.Valuer.
go-nulljson Generates Go code using a package as a generic template that implements database/sql.Scanner and database/sql/driver.Valuer.
cmd/go-option
Typically this process would be run using go generate, like this: //go:generate go-option -type=Pill With no arguments, it processes the package in the current directory.
Typically this process would be run using go generate, like this: //go:generate go-option -type=Pill With no arguments, it processes the package in the current directory.
cmd/go-sqlx
go-sqlx Generates Go code using a package as a generic template that implements sqlx.
go-sqlx Generates Go code using a package as a generic template that implements sqlx.
cmd/go-syncmap
go-syncmap Generates Go code using a package as a generic template for sync.Map.
go-syncmap Generates Go code using a package as a generic template for sync.Map.
cmd/go-syncpool
go-syncpool Generates Go code using a package as a generic template for sync.Pool.
go-syncpool Generates Go code using a package as a generic template for sync.Pool.
cmd/go-validator
go-validator Generates Go code using a package as a generic template that implements validator.
go-validator Generates Go code using a package as a generic template that implements validator.
cmd/protoc-gen-go-tag
protoc-gen-go-tag is a plugin for the Google protocol buffer compiler to Generate Go code.
protoc-gen-go-tag is a plugin for the Google protocol buffer compiler to Generate Go code.
cmd/protoc-gen-go-tag/ast
This code is borrowed from https://github.com/golang/protobuf/blob/master/protoc-gen-go/generator/generator.go
This code is borrowed from https://github.com/golang/protobuf/blob/master/protoc-gen-go/generator/generator.go
go-atomicvalue
go-atomicvalue Generates Go code using a package as a generic template for atomic.Value.
go-atomicvalue Generates Go code using a package as a generic template for atomic.Value.
go-enum
go-enum is a tool to automate the creation of methods that satisfy such interfaces: fmt ==> fmt.Stringer binary ==> encoding.BinaryMarshaler and encoding.BinaryUnmarshaler json ==> encoding/json.MarshalJSON and encoding/json.UnmarshalJSON text ==> encoding.TextMarshaler and encoding.TextUnmarshaler sql ==> database/sql.Scanner and database/sql/driver.Valuer yaml ==> gopkg.in/yaml.v3:yaml.Marshaler and gopkg.in/yaml.v3:yaml.Unmarshaler Given the name of a (signed or unsigned) integer type T that has constants defined, stringer will create a new self-contained Go source file implementing fmt ==> fmt.Stringer func (t T) String() string binary ==> encoding.BinaryMarshaler and encoding.BinaryUnmarshaler func (t T) MarshalBinary() (data []byte, err error) func (t *T) UnmarshalBinary(data []byte) error json ==> encoding/json.MarshalJSON and encoding/json.UnmarshalJSON func (t T) MarshalJSON() ([]byte, error) func (t *T) UnmarshalJSON(data []byte) error text ==> encoding.TextMarshaler and encoding.TextUnmarshaler func (t T) MarshalText() ([]byte, error) func (t *T) UnmarshalText(text []byte) error sql ==> database/sql.Scanner and database/sql/driver.Valuer func (t T) Value() (driver.Value, error) func (t *T) Scan(value interface{}) error yaml ==> gopkg.in/yaml.v3:yaml.Marshaler and gopkg.in/yaml.v3:yaml.Unmarshaler func (t T) MarshalYAML() (interface{}, error) func (t *T) UnmarshalYAML(unmarshal func(interface{}) error) error The file is created in the same package and directory as the package that defines T. It has helpful defaults designed for use with go generate.
go-enum is a tool to automate the creation of methods that satisfy such interfaces: fmt ==> fmt.Stringer binary ==> encoding.BinaryMarshaler and encoding.BinaryUnmarshaler json ==> encoding/json.MarshalJSON and encoding/json.UnmarshalJSON text ==> encoding.TextMarshaler and encoding.TextUnmarshaler sql ==> database/sql.Scanner and database/sql/driver.Valuer yaml ==> gopkg.in/yaml.v3:yaml.Marshaler and gopkg.in/yaml.v3:yaml.Unmarshaler Given the name of a (signed or unsigned) integer type T that has constants defined, stringer will create a new self-contained Go source file implementing fmt ==> fmt.Stringer func (t T) String() string binary ==> encoding.BinaryMarshaler and encoding.BinaryUnmarshaler func (t T) MarshalBinary() (data []byte, err error) func (t *T) UnmarshalBinary(data []byte) error json ==> encoding/json.MarshalJSON and encoding/json.UnmarshalJSON func (t T) MarshalJSON() ([]byte, error) func (t *T) UnmarshalJSON(data []byte) error text ==> encoding.TextMarshaler and encoding.TextUnmarshaler func (t T) MarshalText() ([]byte, error) func (t *T) UnmarshalText(text []byte) error sql ==> database/sql.Scanner and database/sql/driver.Valuer func (t T) Value() (driver.Value, error) func (t *T) Scan(value interface{}) error yaml ==> gopkg.in/yaml.v3:yaml.Marshaler and gopkg.in/yaml.v3:yaml.Unmarshaler func (t T) MarshalYAML() (interface{}, error) func (t *T) UnmarshalYAML(unmarshal func(interface{}) error) error The file is created in the same package and directory as the package that defines T. It has helpful defaults designed for use with go generate.
go-import
go-import Performs auto import of non go files.
go-import Performs auto import of non go files.
go-nulljson
go-nulljson Generates Go code using a package as a generic template that implements database/sql.Scanner and database/sql/driver.Valuer.
go-nulljson Generates Go code using a package as a generic template that implements database/sql.Scanner and database/sql/driver.Valuer.
go-option
Typically this process would be run using go generate, like this: //go:generate go-option -type=Pill With no arguments, it processes the package in the current directory.
Typically this process would be run using go generate, like this: //go:generate go-option -type=Pill With no arguments, it processes the package in the current directory.
go-sqlx
go-sqlx Generates Go code using a package as a generic template that implements sqlx.
go-sqlx Generates Go code using a package as a generic template that implements sqlx.
go-syncmap
go-syncmap Generates Go code using a package as a generic template for sync.Map.
go-syncmap Generates Go code using a package as a generic template for sync.Map.
go-syncpool
go-syncpool Generates Go code using a package as a generic template for sync.Pool.
go-syncpool Generates Go code using a package as a generic template for sync.Pool.
go-validator
go-validator Generates Go code using a package as a generic template that implements validator.
go-validator Generates Go code using a package as a generic template that implements validator.
pkg
protoc-gen-go-tag
protoc-gen-go-tag is a plugin for the Google protocol buffer compiler to Generate Go code.
protoc-gen-go-tag is a plugin for the Google protocol buffer compiler to Generate Go code.
protoc-gen-go-tag/ast
This code is borrowed from https://github.com/golang/protobuf/blob/master/protoc-gen-go/generator/generator.go
This code is borrowed from https://github.com/golang/protobuf/blob/master/protoc-gen-go/generator/generator.go
common Module

Jump to

Keyboard shortcuts

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