gox

package module
v0.4.4 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

README

gox

Golang的基础库,提供各种便捷的方法,包括

  • 字符串
  • 配置
  • 时间处理
  • 基础类型

感谢Jetbrains

本项目通过Jetbrains开源许可IDE编写源代码,特此感谢

Jetbrains图标

Documentation

Index

Constants

View Source
const (
	// CasePositionNone 无
	CasePositionNone casePosition = iota
	// CasePositionHead 首
	CasePositionHead
	// CasePositionTail 尾
	CasePositionTail
	// CasePositionAll 全部
	CasePositionAll
)
View Source
const (
	SizeB  Size = 1
	SizeKB      = 1024 * SizeB
	SizeMB      = 1024 * SizeKB
	SizeGB      = 1024 * SizeMB
	SizeTB      = 1024 * SizeGB
	SizePB      = 1024 * SizeTB
	SizeEB      = 1024 * SizePB
)

Variables

This section is empty.

Functions

func Atoi

func Atoi(num string, base int) int64

Atoi 增强版进制转换,支持任意进制,最大76进制

func Atoid added in v0.0.7

func Atoid(num string) int64

Atoid 进制转换,默认使用76进制

func Contains added in v0.1.7

func Contains[T any](items *[]T, item T) bool

Contains 判断元素是否在数组中

func Diff added in v0.3.7

func Diff[T any](first *[]T, second *[]T) (diff []T)

Diff 差集

func Flat added in v0.1.3

func Flat[T flatType](from T) *flatConverter[T]

func FormatInt

func FormatInt(num int64, base int) string

FormatInt 增强版进制转换,最大支持76进制

func FormatIntd added in v0.0.7

func FormatIntd(num int64) string

FormatIntd 进制转换,默认使用76进制

func Gid

func Gid() (id uint64)

Gid 当前协程编号

func If added in v0.1.3

func If[T any](condition bool, result T) (t T)

If 模块条件表达式,主要用法是减少大括号

func Iff added in v0.2.5

func Iff[T any](condition bool, result internal.Callback[T]) (t T)

Iff 模块条件表达式,主要用法是减少大括号

func Ift added in v0.2.5

func Ift[T any](condition bool, first T, second T) (t T)

Ift 模拟三元表达式,主要用法是减少大括号

func Ifx added in v0.1.9

func Ifx[T any](condition bool, first internal.Callback[T], second internal.Callback[T]) (t T)

Ifx 模拟三元表达式,主要用法是减少大括号

func Index added in v0.1.3

func Index[T any](items *[]T, item T) (index int)

Index 在列表中找出元素的下标

func Set added in v0.1.3

func Set[T any](setter func(value T), first T, second T)

Set 设置方法,当`first`值为零值时,设置为`second`的值,否则设置`first`的值

func Stack added in v0.3.7

func Stack(stack int, skip int) string

Stack 返回当前执行堆栈

func StringBuilder added in v0.2.6

func StringBuilder(items ...any) (sb *stringBuilder)

StringBuilder 创建连写字符串

func Ternary added in v0.2.1

func Ternary[T any](condition bool, first T, second T) (t T)

Ternary 模拟三元表达式,主要用法是减少大括号

func TernaryFunc added in v0.2.5

func TernaryFunc[T any](condition bool, first internal.Callback[T], second internal.Callback[T]) (t T)

TernaryFunc 模拟三元表达式,主要用法是减少大括号

func ToString added in v0.2.1

func ToString(from any) (to string)

ToString 将任意类型转换为字符串

func ToStrings added in v0.2.1

func ToStrings(from ...any) (to []string)

ToStrings 将任意类型转换成字符串列表

Types

type CannotCompare

type CannotCompare [0]func()

CannotCompare 不能比较

type CannotCopy

type CannotCopy [0]sync.Mutex

CannotCopy 不能复制

type Case added in v0.1.3

type Case string

Case 字符串转换

func (*Case) Camel added in v0.1.3

func (c *Case) Camel(upperPos casePosition) *Case

Camel 转为驼峰写法

func (*Case) Lowercase added in v0.1.6

func (c *Case) Lowercase(pos casePosition) *Case

Lowercase 首字母小写

func (*Case) String added in v0.1.5

func (c *Case) String() string

String 最终结果

func (*Case) Underscore added in v0.1.3

func (c *Case) Underscore(upperPos casePosition) *Case

Underscore 转为下划线写法

type Column added in v0.4.3

type Column string

Column 列

func (Column) Negation added in v0.4.3

func (c Column) Negation(value any) string

func (Column) Negative added in v0.4.3

func (c Column) Negative() string

func (Column) String added in v0.4.3

func (c Column) String() string

type Empty added in v0.3.8

type Empty struct {
}

Empty 空结构体

type Field

type Field[T any] Kv[string, T]

Field 字段,一个键值对,要求键必须是字符串

type Fields

type Fields[T any] []Field[T]

Fields 字段列表

func (Fields[T]) Add added in v0.2.2

func (f Fields[T]) Add(fields ...Field[T]) Fields[T]

func (Fields[T]) String

func (f Fields[T]) String() string

type Key

type Key[T any] interface {
	// Key 返回键值
	Key() T
}

Key 键

type Kv added in v0.1.3

type Kv[K any, V any] interface {
	Key[K]
	Value[V]
}

Kv 键值对

type Labels added in v0.3.8

type Labels map[string]string

Labels 标签

func (Labels) String added in v0.3.8

func (l Labels) String() string

type Microsecond added in v0.3.9

type Microsecond struct {
	time.Time
}

Microsecond 微秒

func NewMicrosecond added in v0.4.0

func NewMicrosecond(from time.Time) *Microsecond

NewMicrosecond 从时间创建微秒

func ParseMicrosecond added in v0.3.9

func ParseMicrosecond(from string) (microsecond *Microsecond, err error)

ParseMicrosecond 从字符串解析微秒

func (Microsecond) MarshalJSON added in v0.3.9

func (m Microsecond) MarshalJSON() ([]byte, error)

func (*Microsecond) UnmarshalJSON added in v0.3.9

func (m *Microsecond) UnmarshalJSON(bytes []byte) (err error)

type Millisecond added in v0.3.9

type Millisecond struct {
	time.Time
}

Millisecond 毫秒

func NewMillisecond added in v0.4.0

func NewMillisecond(from time.Time) *Millisecond

NewMillisecond 从时间创建毫秒

func ParseMillisecond added in v0.3.9

func ParseMillisecond(from string) (millisecond *Millisecond, err error)

ParseMillisecond 从字符串解析毫秒

func (Millisecond) MarshalJSON added in v0.3.9

func (m Millisecond) MarshalJSON() ([]byte, error)

func (*Millisecond) UnmarshalJSON added in v0.3.9

func (m *Millisecond) UnmarshalJSON(bytes []byte) (err error)

type Nanosecond added in v0.3.9

type Nanosecond struct {
	time.Time
}

Nanosecond 纳秒

func NewNanosecond added in v0.4.0

func NewNanosecond(from time.Time) *Nanosecond

NewNanosecond 从时间创建毫秒

func ParseNanosecond added in v0.3.9

func ParseNanosecond(from string) (nanosecond *Nanosecond, err error)

ParseNanosecond 从字符串解析毫秒

func (Nanosecond) MarshalJSON added in v0.3.9

func (n Nanosecond) MarshalJSON() ([]byte, error)

func (*Nanosecond) UnmarshalJSON added in v0.3.9

func (n *Nanosecond) UnmarshalJSON(bytes []byte) (err error)

type Object added in v0.1.3

type Object struct {
}

Object 基础对象

type Package added in v0.1.3

type Package string

Package 包名

func (*Package) Name added in v0.1.3

func (p *Package) Name() (name string)

func (*Package) String added in v0.1.3

func (p *Package) String() string

type Second added in v0.3.9

type Second struct {
	time.Time
}

Second 秒

func NewSecond added in v0.4.0

func NewSecond(from time.Time) *Second

NewSecond 从时间创建秒

func ParseSecond added in v0.3.9

func ParseSecond(from string) (second *Second, err error)

ParseSecond 从字符串解析秒

func (Second) MarshalJSON added in v0.3.9

func (s Second) MarshalJSON() ([]byte, error)

func (*Second) UnmarshalJSON added in v0.3.9

func (s *Second) UnmarshalJSON(bytes []byte) (err error)

type Size

type Size int64

Size 字节大小

func ParseSize added in v0.0.7

func ParseSize(from string) (size Size, err error)

ParseSize 解析字节大小

func (*Size) Bit added in v0.1.5

func (s *Size) Bit() int64

func (*Size) Bit32 added in v0.1.5

func (s *Size) Bit32() int32

func (*Size) Byte added in v0.2.9

func (s *Size) Byte() int64

func (*Size) Formatter added in v0.1.3

func (s *Size) Formatter() *sizeFormatter

func (Size) MarshalJSON added in v0.0.7

func (s Size) MarshalJSON() (bytes []byte, err error)

func (*Size) String added in v0.0.7

func (s *Size) String() string

func (*Size) UnmarshalJSON added in v0.0.7

func (s *Size) UnmarshalJSON(bytes []byte) (err error)

type Value

type Value[T any] interface {
	// Value 返回具体的值
	Value() T
}

Value 值

Directories

Path Synopsis
tpl

Jump to

Keyboard shortcuts

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