Documentation
¶
Index ¶
- Constants
- Variables
- func AvgFloat64(c *Collection[float64]) float64
- func AvgInt(c *Collection[int]) float64
- func BasePath(path ...string) string
- func Blank(value interface{}) bool
- func Class(value interface{}) string
- func ConfigPath(path ...string) string
- func DD(values ...interface{})
- func Data(value interface{}) map[string]interface{}
- func Default[T any](value, defaultValue T) T
- func Dump(values ...interface{})
- func Env(key string, defaultValue ...string) string
- func EnvBool(key string, defaultValue ...bool) bool
- func EnvInt(key string, defaultValue ...int) int
- func Filled(value interface{}) bool
- func GroupBy[T any, K comparable](c *Collection[T], keyFunc func(T) K) map[K]*Collection[T]
- func Head[T any](arr []T) (T, bool)
- func Last[T any](arr []T) (T, bool)
- func MaxInt(c *Collection[int]) (int, bool)
- func MinInt(c *Collection[int]) (int, bool)
- func PublicPath(path ...string) string
- func Reduce[T any, R any](c *Collection[T], reducer func(R, T) R, initial R) R
- func Retry(times int, callback func() error) error
- func StoragePath(path ...string) string
- func SumFloat64(c *Collection[float64]) float64
- func SumInt(c *Collection[int]) int
- func Tap[T any](value T, callback func(T)) T
- func Transform[T any](value T, callback func(T) T, condition bool) T
- func Unless[T any](value T, condition bool, callback func(T) T) T
- func Value(value interface{}) interface{}
- func When[T any](value T, condition bool, callback func(T) T) T
- func With[T any, R any](value T, callback func(T) R) R
- type Arr
- func (a *Arr) Chunk(arr []interface{}, size int) [][]interface{}
- func (a *Arr) Collapse(arr [][]interface{}) []interface{}
- func (a *Arr) Diff(arr1, arr2 []interface{}) []interface{}
- func (a *Arr) Divide(arr map[string]interface{}) ([]string, []interface{})
- func (a *Arr) Dot(arr map[string]interface{}, prefix ...string) map[string]interface{}
- func (a *Arr) Except(arr map[string]interface{}, keys ...string) map[string]interface{}
- func (a *Arr) First(arr []interface{}, predicate func(interface{}) bool) (interface{}, bool)
- func (a *Arr) Flatten(arr []interface{}) []interface{}
- func (a *Arr) Forget(arr map[string]interface{}, key string)
- func (a *Arr) Get(arr map[string]interface{}, key string, defaultValue ...interface{}) interface{}
- func (a *Arr) Has(arr map[string]interface{}, key string) bool
- func (a *Arr) Intersect(arr1, arr2 []interface{}) []interface{}
- func (a *Arr) Last(arr []interface{}, predicate func(interface{}) bool) (interface{}, bool)
- func (a *Arr) Only(arr map[string]interface{}, keys ...string) map[string]interface{}
- func (a *Arr) Pluck(arr []map[string]interface{}, key string) []interface{}
- func (a *Arr) Random(arr []interface{}) (interface{}, bool)
- func (a *Arr) Set(arr map[string]interface{}, key string, value interface{})
- func (a *Arr) Shuffle(arr []interface{}) []interface{}
- func (a *Arr) Sort(arr []interface{}, less func(i, j interface{}) bool) []interface{}
- func (a *Arr) Union(arr1, arr2 []interface{}) []interface{}
- func (a *Arr) Unique(arr []interface{}) []interface{}
- func (a *Arr) Where(arr []map[string]interface{}, key string, value interface{}) []map[string]interface{}
- func (a *Arr) Wrap(value interface{}) []interface{}
- type Carbon
- func Create(year, month, day, hour, minute, second int) *Carbon
- func CreateFromDate(year, month, day int) *Carbon
- func CreateFromFormat(format, value string) (*Carbon, error)
- func CreateFromTime(hour, minute, second int) *Carbon
- func CreateFromTimestamp(timestamp int64) *Carbon
- func CreateFromTimestampMs(timestamp int64) *Carbon
- func Now() *Carbon
- func Parse(layout, value string) (*Carbon, error)
- func ParseInLocation(layout, value string, loc *time.Location) (*Carbon, error)
- func Today() *Carbon
- func Tomorrow() *Carbon
- func Yesterday() *Carbon
- func (c *Carbon) AddDays(days int) *Carbon
- func (c *Carbon) AddHours(hours int) *Carbon
- func (c *Carbon) AddMinutes(minutes int) *Carbon
- func (c *Carbon) AddMonths(months int) *Carbon
- func (c *Carbon) AddSeconds(seconds int) *Carbon
- func (c *Carbon) AddYears(years int) *Carbon
- func (c *Carbon) Between(start, end *Carbon) bool
- func (c *Carbon) Copy() *Carbon
- func (c *Carbon) DiffForHumans() string
- func (c *Carbon) DiffInDays(other *Carbon) int
- func (c *Carbon) DiffInHours(other *Carbon) int
- func (c *Carbon) DiffInMinutes(other *Carbon) int
- func (c *Carbon) DiffInMonths(other *Carbon) int
- func (c *Carbon) DiffInSeconds(other *Carbon) int
- func (c *Carbon) DiffInYears(other *Carbon) int
- func (c *Carbon) EndOfDay() *Carbon
- func (c *Carbon) EndOfMonth() *Carbon
- func (c *Carbon) EndOfWeek() *Carbon
- func (c *Carbon) EndOfYear() *Carbon
- func (c *Carbon) Format(layout string) string
- func (c *Carbon) GetDay() int
- func (c *Carbon) GetDayOfYear() int
- func (c *Carbon) GetHour() int
- func (c *Carbon) GetMinute() int
- func (c *Carbon) GetMonth() int
- func (c *Carbon) GetSecond() int
- func (c *Carbon) GetWeekday() int
- func (c *Carbon) GetYear() int
- func (c *Carbon) IsFuture() bool
- func (c *Carbon) IsLeapYear() bool
- func (c *Carbon) IsPast() bool
- func (c *Carbon) IsSameDay(other *Carbon) bool
- func (c *Carbon) IsSameMonth(other *Carbon) bool
- func (c *Carbon) IsSameYear(other *Carbon) bool
- func (c *Carbon) IsToday() bool
- func (c *Carbon) IsTomorrow() bool
- func (c *Carbon) IsWeekday() bool
- func (c *Carbon) IsWeekend() bool
- func (c *Carbon) IsYesterday() bool
- func (c *Carbon) Max(other *Carbon) *Carbon
- func (c *Carbon) Min(other *Carbon) *Carbon
- func (c *Carbon) SetDay(day int) *Carbon
- func (c *Carbon) SetHour(hour int) *Carbon
- func (c *Carbon) SetMinute(minute int) *Carbon
- func (c *Carbon) SetMonth(month int) *Carbon
- func (c *Carbon) SetSecond(second int) *Carbon
- func (c *Carbon) SetYear(year int) *Carbon
- func (c *Carbon) StartOfDay() *Carbon
- func (c *Carbon) StartOfMonth() *Carbon
- func (c *Carbon) StartOfWeek() *Carbon
- func (c *Carbon) StartOfYear() *Carbon
- func (c *Carbon) String() string
- func (c *Carbon) SubDays(days int) *Carbon
- func (c *Carbon) SubHours(hours int) *Carbon
- func (c *Carbon) SubMinutes(minutes int) *Carbon
- func (c *Carbon) SubMonths(months int) *Carbon
- func (c *Carbon) SubSeconds(seconds int) *Carbon
- func (c *Carbon) SubYears(years int) *Carbon
- func (c *Carbon) Timestamp() int64
- func (c *Carbon) TimestampMs() int64
- func (c *Carbon) TimestampNano() int64
- func (c *Carbon) ToDateString() string
- func (c *Carbon) ToDateTimeString() string
- func (c *Carbon) ToFormattedDateString() string
- func (c *Carbon) ToISO8601String() string
- func (c *Carbon) ToRFC3339String() string
- func (c *Carbon) ToTimeString() string
- type Collection
- func Collect[T any](items []T) *Collection[T]
- func FromJSON[T any](jsonStr string) (*Collection[T], error)
- func Map[T any, R any](c *Collection[T], transform func(T) R) *Collection[R]
- func NewCollection[T any](items []T) *Collection[T]
- func PluckInt[T any](c *Collection[T], getter func(T) int) *Collection[int]
- func PluckString[T any](c *Collection[T], getter func(T) string) *Collection[string]
- func (c *Collection[T]) All() []T
- func (c *Collection[T]) Chunk(size int) []*Collection[T]
- func (c *Collection[T]) Contains(predicate func(T) bool) bool
- func (c *Collection[T]) Count() int
- func (c *Collection[T]) Each(callback func(T, int)) *Collection[T]
- func (c *Collection[T]) Every(predicate func(T) bool) bool
- func (c *Collection[T]) Filter(predicate func(T) bool) *Collection[T]
- func (c *Collection[T]) First() (T, bool)
- func (c *Collection[T]) IsEmpty() bool
- func (c *Collection[T]) IsNotEmpty() bool
- func (c *Collection[T]) Last() (T, bool)
- func (c *Collection[T]) Pop() (T, bool)
- func (c *Collection[T]) Push(items ...T) *Collection[T]
- func (c *Collection[T]) Reverse() *Collection[T]
- func (c *Collection[T]) Shift() (T, bool)
- func (c *Collection[T]) Skip(n int) *Collection[T]
- func (c *Collection[T]) Slice(start, end int) *Collection[T]
- func (c *Collection[T]) Some(predicate func(T) bool) bool
- func (c *Collection[T]) SortBy(less func(T, T) bool) *Collection[T]
- func (c *Collection[T]) Take(n int) *Collection[T]
- func (c *Collection[T]) ToJSON() (string, error)
- func (c *Collection[T]) Unique() *Collection[T]
- type Optional
- type Str
- func (s *Str) After(str, search string) string
- func (s *Str) AfterLast(str, search string) string
- func (s *Str) Before(str, search string) string
- func (s *Str) BeforeLast(str, search string) string
- func (s *Str) Between(str, start, end string) string
- func (s *Str) Camel(str string) string
- func (s *Str) Contains(haystack, needle string) bool
- func (s *Str) EndsWith(haystack, needle string) bool
- func (s *Str) Finish(str, cap string) string
- func (s *Str) IsEmail(str string) bool
- func (s *Str) IsURL(str string) bool
- func (s *Str) IsUUID(str string) bool
- func (s *Str) Kebab(str string) string
- func (s *Str) Lcfirst(str string) string
- func (s *Str) Length(str string) int
- func (s *Str) Limit(str string, limit int, end ...string) string
- func (s *Str) Lower(str string) string
- func (s *Str) Match(pattern, str string) bool
- func (s *Str) MatchAll(pattern, str string) []string
- func (s *Str) Random(length int) string
- func (s *Str) Repeat(str string, times int) string
- func (s *Str) Replace(str, search, replace string) string
- func (s *Str) ReplaceFirst(str, search, replace string) string
- func (s *Str) ReplaceLast(str, search, replace string) string
- func (s *Str) Reverse(str string) string
- func (s *Str) Slug(str string, separator ...string) string
- func (s *Str) Snake(str string) string
- func (s *Str) Start(str, prefix string) string
- func (s *Str) StartsWith(haystack, needle string) bool
- func (s *Str) Studly(str string) string
- func (s *Str) Substr(str string, start int, length ...int) string
- func (s *Str) Title(str string) string
- func (s *Str) Ucfirst(str string) string
- func (s *Str) Upper(str string) string
- func (s *Str) WordWrap(str string, width int, break_ ...string) string
- func (s *Str) Words(str string) int
Constants ¶
const ( DefaultFormat = "2006-01-02 15:04:05" DateFormat = "2006-01-02" TimeFormat = "15:04:05" DateTimeFormat = "2006-01-02 15:04:05" RFC3339Format = time.RFC3339 ISO8601Format = "2006-01-02T15:04:05Z07:00" CookieFormat = "Monday, 02-Jan-2006 15:04:05 MST" RFC822Format = time.RFC822 RFC850Format = time.RFC850 RFC1123Format = time.RFC1123 RFC2822Format = "Mon, 02 Jan 2006 15:04:05 -0700" RSSFormat = "Mon, 02 Jan 2006 15:04:05 -0700" W3CFormat = "2006-01-02T15:04:05-07:00" MySQLDateFormat = "2006-01-02" MySQLDateTimeFormat = "2006-01-02 15:04:05" )
常用时间格式
Variables ¶
var ArrayHelper = &Arr{}
全局数组辅助实例
var StringHelper = &Str{}
全局字符串辅助实例
Functions ¶
func AvgFloat64 ¶
func AvgFloat64(c *Collection[float64]) float64
func GroupBy ¶
func GroupBy[T any, K comparable](c *Collection[T], keyFunc func(T) K) map[K]*Collection[T]
GroupBy 分组
func Reduce ¶
func Reduce[T any, R any](c *Collection[T], reducer func(R, T) R, initial R) R
Reduce 归约操作(泛型版本)
func SumFloat64 ¶
func SumFloat64(c *Collection[float64]) float64
Types ¶
type Arr ¶
type Arr struct{}
Arr 数组辅助函数集合(Laravel 风格)
func (*Arr) Intersect ¶
func (a *Arr) Intersect(arr1, arr2 []interface{}) []interface{}
Intersect 数组交集
type Carbon ¶
Carbon Laravel 风格的日期时间处理
func CreateFromDate ¶
CreateFromDate 创建指定日期(时间为零点)
func CreateFromFormat ¶
CreateFromFormat 从指定格式创建时间
func CreateFromTime ¶
CreateFromTime 创建指定时间(日期为今天)
func CreateFromTimestamp ¶
CreateFromTimestamp 从时间戳创建
func CreateFromTimestampMs ¶
CreateFromTimestampMs 从毫秒时间戳创建
func ParseInLocation ¶
ParseInLocation 在指定时区解析时间
func (*Carbon) DiffInMinutes ¶
DiffInMinutes 相差分钟数
func (*Carbon) ToDateString ¶
ToDateString 转换为日期字符串 (2006-01-02)
func (*Carbon) ToDateTimeString ¶
ToDateTimeString 转换为日期时间字符串 (2006-01-02 15:04:05)
func (*Carbon) ToFormattedDateString ¶
ToFormattedDateString 格式化为友好的日期字符串 (Jan 02, 2006)
func (*Carbon) ToISO8601String ¶
ToISO8601String 转换为 ISO8601 字符串
func (*Carbon) ToRFC3339String ¶
ToRFC3339String 转换为 RFC3339 字符串
func (*Carbon) ToTimeString ¶
ToTimeString 转换为时间字符串 (15:04:05)
type Collection ¶
type Collection[T any] struct { // contains filtered or unexported fields }
Collection 泛型集合,提供 Laravel 风格的集合操作
func Map ¶
func Map[T any, R any](c *Collection[T], transform func(T) R) *Collection[R]
Map 映射转换(泛型版本)
func PluckInt ¶
func PluckInt[T any](c *Collection[T], getter func(T) int) *Collection[int]
func PluckString ¶
func PluckString[T any](c *Collection[T], getter func(T) string) *Collection[string]
Pluck 提取字段(需要使用反射或泛型约束)
func (*Collection[T]) Contains ¶
func (c *Collection[T]) Contains(predicate func(T) bool) bool
Contains 检查是否包含元素
func (*Collection[T]) Each ¶
func (c *Collection[T]) Each(callback func(T, int)) *Collection[T]
Each 遍历每个元素
func (*Collection[T]) Every ¶
func (c *Collection[T]) Every(predicate func(T) bool) bool
Every 检查所有元素是否满足条件
func (*Collection[T]) Filter ¶
func (c *Collection[T]) Filter(predicate func(T) bool) *Collection[T]
Filter 过滤元素
func (*Collection[T]) Slice ¶
func (c *Collection[T]) Slice(start, end int) *Collection[T]
Slice 切片操作
func (*Collection[T]) Some ¶
func (c *Collection[T]) Some(predicate func(T) bool) bool
Some 检查是否有元素满足条件
func (*Collection[T]) SortBy ¶
func (c *Collection[T]) SortBy(less func(T, T) bool) *Collection[T]
SortBy 排序(需要提供比较函数)
type Optional ¶
type Optional[T any] struct { // contains filtered or unexported fields }
Optional 创建可选值包装器
func NewOptional ¶
type Str ¶
type Str struct{}
Str 字符串辅助函数集合(Laravel 风格)
func (*Str) BeforeLast ¶
BeforeLast 获取最后一个指定字符串之前的内容
func (*Str) ReplaceFirst ¶
ReplaceFirst 替换第一个匹配
func (*Str) ReplaceLast ¶
ReplaceLast 替换最后一个匹配
func (*Str) StartsWith ¶
StartsWith 检查字符串是否以指定前缀开始