Documentation ¶
Index ¶
- func Contains(slice interface{}, value interface{}) bool
- func ContainsStr(slice []string, value string) bool
- func EscapeLike(str string) string
- func IndexOf(slice interface{}, value interface{}) int
- func IndexOfStr(slice []string, value string) int
- func Only(data interface{}, fields ...string) map[string]interface{}
- func RemoveHiddenFields(model interface{})
- func SliceEqual(first interface{}, second interface{}) bool
- func ToFloat64(value interface{}) (float64, error)
- func ToString(value interface{}) string
- type HeaderValue
- type Map
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 ¶
ContainsStr check if a string slice contains a value. Prefer using this helper instead of Contains for better performance.
func EscapeLike ¶
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 ¶
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 ¶
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.
Types ¶
type HeaderValue ¶
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}]