helper

package
v3.11.0 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2021 License: MIT Imports: 6 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Contains

func Contains(slice interface{}, value interface{}) bool

Contains check if a slice contains a value.

func ContainsStr

func ContainsStr(slice []string, value string) bool

ContainsStr check if a string slice contains a value. Prefer using this helper instead of Contains for better performance.

func EscapeLike

func EscapeLike(str string) string

EscapeLike escape "%" and "_" characters in the given string for use in SQL "LIKE" clauses.

func IndexOf

func IndexOf(slice interface{}, value interface{}) int

IndexOf get the index of the given value in the given slice, or -1 if not found.

func IndexOfStr

func IndexOfStr(slice []string, value string) int

IndexOfStr get the index of the given value in the given string slice, or -1 if not found. Prefer using this helper instead of IndexOf for better performance.

func Only

func Only(data interface{}, fields ...string) map[string]interface{}

Only extracts the requested field from the given map[string] or structure and returns a map[string]interface{} containing only those values.

For example:

 type Model struct {
   Field string
   Num   int
   Slice []float64
 }
 model := Model{
	  Field: "value",
	  Num:   42,
	  Slice: []float64{3, 6, 9},
 }
 res := Only(model, "Field", "Slice")

Result:

 map[string]interface{}{
	  "Field": "value",
	  "Slice": []float64{3, 6, 9},
 }

In case of conflicting fields (if a promoted field has the same name as a parent's struct field), the higher level field is kept.

func RemoveHiddenFields

func RemoveHiddenFields(model interface{})

RemoveHiddenFields if the given model is a struct pointer. All fields marked with the tag `model:"hide"` will be set to their zero value.

func SliceEqual

func SliceEqual(first interface{}, second interface{}) bool

SliceEqual check if two generic slices are the same.

func ToFloat64

func ToFloat64(value interface{}) (float64, error)

ToFloat64 convert a numeric value to float64.

func ToString

func ToString(value interface{}) string

ToString convert a value to string.

Types

type HeaderValue

type HeaderValue struct {
	Value    string
	Priority float64
}

HeaderValue represent a value and its quality value (priority) in a multi-values HTTP header.

func ParseMultiValuesHeader

func ParseMultiValuesHeader(header string) []HeaderValue

ParseMultiValuesHeader parses multi-values HTTP headers, taking the quality values into account. The result is a slice of values sorted according to the order of priority.

See: https://developer.mozilla.org/en-US/docs/Glossary/Quality_values

For the following header:

"text/html,text/*;q=0.5,*/*;q=0.7"

then

[{text/html 1} {*/* 0.7} {text/* 0.5}]

type Map added in v3.8.0

type Map map[string]interface{}

Map is an alias to map[string]interface{} Useful and a cleaner way to create a JSON response object

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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