Documentation
¶
Index ¶
- Variables
- func CamelListToSnakeList(camelList []string) []string
- func CamelToKebab(camel string) string
- func CamelToSnake(camel string) string
- func CopyFields(dest, src any, fields ...string) error
- func FormattedCamel(str string) string
- func Pointer[T any](val T) *T
- func PrettyDump(a ...any)
- func PrettySdump(a ...any) string
- func RandomString(strlen int, withoutNumber ...bool) string
- func SnakeListToCamelList(snakeList []string) []string
- func SnakeToCamel(snake string) string
- func Split(src string) (entries []string)
- func UpdateStructByMap(target any, source map[string]any) ([]string, error)
- type WorkerPool
Constants ¶
This section is empty.
Variables ¶
var ( Version string GitSha string BuildTime string )
Version info of this binary, set by -ldflags
Functions ¶
func CamelListToSnakeList ¶
CamelListToSnakeList cast each string in camel list to snake case.
func CamelToKebab ¶
CamelToKebab cast camel case to kebab case
func CamelToSnake ¶
CamelToSnake cast camel case to snake case
func CopyFields ¶
CopyFields copies fields from src to dest. The dest and src can be different types but the field with same name must has the same type.
func FormattedCamel ¶
FormattedCamel cast to formatted cammel. For example: VirtualMachineID to VirtualMachineId
func PrettySdump ¶
PrettySdump prints Golang objects in a beautiful way to string.
func RandomString ¶
RandomString return random string with specified length
func SnakeListToCamelList ¶
SnakeListToCamelList cast each string in snake list to camel case.
func SnakeToCamel ¶
SnakeToCamel cast snake case to camel case
func Split ¶
Split splits the camelcase word and returns a list of words. It also supports digits. Both lower camel case and upper camel case are supported. For more info please check: http://en.wikipedia.org/wiki/CamelCase
Examples
"" => [""] "lowercase" => ["lowercase"] "Class" => ["Class"] "MyClass" => ["My", "Class"] "MyC" => ["My", "C"] "HTML" => ["HTML"] "PDFLoader" => ["PDF", "Loader"] "AString" => ["A", "String"] "SimpleXMLParser" => ["Simple", "XML", "Parser"] "vimRPCPlugin" => ["vim", "RPC", "Plugin"] "GL11Version" => ["GL", "11", "Version"] "99Bottles" => ["99", "Bottles"] "May5" => ["May", "5"] "BFG9000" => ["BFG", "9000"] "BöseÜberraschung" => ["Böse", "Überraschung"] "Two spaces" => ["Two", " ", "spaces"] "BadUTF8\xe2\xe2\xa1" => ["BadUTF8\xe2\xe2\xa1"]
Splitting rules
- If string is not valid UTF-8, return it without splitting as single item array.
- Assign all unicode characters into one of 4 sets: lower case letters, upper case letters, numbers, and all other characters.
- Iterate through characters of string, introducing splits between adjacent characters that belong to different sets.
- Iterate through array of split strings, and if a given string is upper case: if subsequent string is lower case: move last character of upper case string to beginning of lower case string
Types ¶
type WorkerPool ¶
type WorkerPool[T any] struct { // contains filtered or unexported fields }
WorkerPool is a pool of workers that process items concurrently.
func NewWorkerPool ¶
NewWorkerPool creates a new worker pool.
func (*WorkerPool[T]) Errors ¶
func (wp *WorkerPool[T]) Errors() []error
Errors returns the errors encountered during processing.
func (*WorkerPool[T]) Start ¶
func (wp *WorkerPool[T]) Start(ctx context.Context)
Start starts the worker pool.