common

package
v0.0.0-...-0012533 Latest Latest
Warning

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

Go to latest
Published: Sep 11, 2023 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Type_int8     uint8 = 1
	Type_int16    uint8 = 2
	Type_int32    uint8 = 3
	Type_int64    uint8 = 4
	Type_uint8    uint8 = 5
	Type_uint16   uint8 = 6
	Type_uint32   uint8 = 7
	Type_uint64   uint8 = 8
	Type_float32  uint8 = 9
	Type_float64  uint8 = 10
	Type_bool     uint8 = 11
	Type_string   uint8 = 12
	Type_protoMsg uint8 = 13
)
View Source
const (
	EntityType_Player   string = "Player"
	EntityType_DBPlayer        = "DBPlayer"
)
View Source
const (
	//服务器配置文件
	ServerJson = "srv"
	//服务器名字
	ServerName = "sname"
	//服务器资源目录
	ServerRes = "res"
)
View Source
const (
	DOT               = "."
	COMMA             = ","
	SEMICOLON         = ""
	COLON             = ":"
	AET               = "@"
	HLINE             = "-"
	UNDERLINE         = "_"
	EMPTY             = ""
	BRACKET_LEFT      = "["
	BRACKET_RIGHT     = "]"
	BRACE_LEFT        = "{"
	BRACE_RIGHT       = "}"
	PARENTHESIS_LEFT  = "("
	PARENTHESIS_RIGHT = ")"
	SPRIT             = "/"
	AND               = "&"
	QUESTION          = "?"
	EQUAL             = "="
	PROTOCOL          = "://"
	HTTP              = "http://"
	HTTPS             = "https://"
	LF                = "\n"
	CR                = "\r"
	SPACE             = " "
)
View Source
const (
	//常量:最小的变量索引
	Coust_a byte = 97
)

Variables

View Source
var (
	//需要一个全局控制的函数
	FuncLi map[string]CompMark
)
View Source
var OnRecover func(err interface{}, stacktrace string, obj interface{}, args ...interface{})

当有协程发生异常的时候,系统会根据需要捕获异常 然后会把异常详细传递到这里,上层只需要设置这个方法就可以对捕获的异常进行处理

Functions

func Abs

func Abs(n int32) int32

func AddrConvertToIpAndPort

func AddrConvertToIpAndPort(addr string) (string, int32, error)

func ArrayIndexof

func ArrayIndexof[T ArrayT](array []T, v T) int

ArrayIndexof 数组查找,返回索引,-1为没找到

func ArraySelectArray

func ArraySelectArray[T ArrayT](arr1, arr2 []T) bool

在arr1中找arr2的成员,只要找到一个就返回ture

func ArrayToString

func ArrayToString(arrays []string) string

[9 9 8 4 2 9 1 7 - a 5 4 b - 3 3 1 6 - c d f 3 - 8 7 d 9 f b 5 7] -> "99842917-a54b-3316-cdf3-87d9fb57"

func ConvertInt32

func ConvertInt32(a interface{}) int32

func ConvertInt64

func ConvertInt64(a interface{}) int64

func CreateToken

func CreateToken(curtime int64, id uint64) string

func CurrentDirectory

func CurrentDirectory() string

设置程序目录为当前目录

func FirstCaseToUpper

func FirstCaseToUpper(str string, first bool) string

first = false: "aaa_bbb_ccc" -> "aaaBbbCcc" first = true: "aaa_bbb_ccc" -> "AaaBbbCcc"

func Float32Abs

func Float32Abs(f float32) float32

func GetCurrTimeMillisecond

func GetCurrTimeMillisecond() int64

获取当前时间的毫秒

func GetErrno

func GetErrno(err error) int

从错误中读取最后的errno

func GetError

func GetError(v any) error

获取信息中的错误

func GetRandomIndex

func GetRandomIndex(rateNum int, data []int32) (int, bool)

得到随机概率下标

func GetResPath

func GetResPath() (result string)

获取资源目录

func GetSystemUserName

func GetSystemUserName() string

func GetTimeMillisecond

func GetTimeMillisecond(v int64) int64

获取纳秒时间的毫秒时间

func GetTimeMillisecondT

func GetTimeMillisecondT(t time.Time) int64

获取时间戳的

func GetTimeSecondT

func GetTimeSecondT(t time.Time) int64

获取时间戳(单位:秒)

func GlobalRandInit

func GlobalRandInit()

func IntArrayToString

func IntArrayToString[T ArrayT](arr []T, sub string) string

IntArrayToString []int 转string

func Max

func Max[T NumberT](a, b T) T

func MaxI32

func MaxI32(v1, v2 int32) int32

func MaxI64

func MaxI64(v1, v2 int64) int64

func Min

func Min[T NumberT](a, b T) T

func MinI32

func MinI32(v1, v2 int32) int32

func MinI64

func MinI64(v1, v2 int64) int64

func Post

func Post(url string, data interface{}, contentType string) (string, error)

发送POST请求 url: 请求地址 data: POST请求提交的数据 contentType: 请求体格式,如:application/json content: 请求放回的内容

func Rand

func Rand(x, y int32) int

func RegisterComp

func RegisterComp(name string, f CompMark)

func SafeDelIU32

func SafeDelIU32(v1, v2 uint32) uint32

func StackTrace

func StackTrace() string

func StringToInt32Array

func StringToInt32Array(str string, sub string) []int32

func StringToIntArray

func StringToIntArray(str string, sub string) []int

StringToIntArray 字符串转int数组

func StringToUint64Array

func StringToUint64Array(str string, sub string) []uint64

StringToUint64Array 字符串转uint64数组

Types

type ArrayT

type ArrayT interface {
	byte | int8 | int16 | int32 | int64 | int | uint16 | uint32 | uint64 | uint | string
}

type BaseDcit

type BaseDcit struct {
	Data map[int]int
}

为map[int]int对像绑定的一些方法

func NewBaseDictString

func NewBaseDictString(str *String) *BaseDcit

NewBaseDictString 用字符串初始化一个数据

func (*BaseDcit) Clear

func (this *BaseDcit) Clear()

Clear清数据

func (BaseDcit) Clone

func (this BaseDcit) Clone() *BaseDcit

Clone 复制一个BaseData

func (*BaseDcit) Count

func (this *BaseDcit) Count() (result int)

Count 总数量

func (*BaseDcit) GetNumByKey

func (this *BaseDcit) GetNumByKey(key int) int

GetNumByKey指定数据的值

func (*BaseDcit) MaxItem

func (this *BaseDcit) MaxItem() (key, num int)

MaxItem 最大数值的KEY,value

func (*BaseDcit) ToString

func (this *BaseDcit) ToString() string

ToString 字符串化

func (*BaseDcit) UpData

func (this *BaseDcit) UpData(key, num int)

UpData 更新指定数据

func (*BaseDcit) UpDataBc

func (this *BaseDcit) UpDataBc(addbc, delbc *BaseDcit)

UpDataBc批量用别的数据,更新本数据

type CompMark

type CompMark func(node *CompNode, arr []int64) int64

type CompNode

type CompNode struct {
	Var  string    //值
	Val  int64     //值数据
	Num1 *CompNode //数据1
	Mark string    //运算符号
	Num2 *CompNode //数据2
}

计算对象

func NewCompNode

func NewCompNode(exp string) *CompNode

输入字符串;输出运算对象 现在支持+-*/还有自定义的函数 "(a+b*c-4)/rand(6+21,100)" 不支持负号开头

func (*CompNode) CompVal

func (cn *CompNode) CompVal(param []int64) int64

循环计算

func (*CompNode) String

func (cn *CompNode) String() string

type Error

type Error struct {
	//错误码 0表示成功
	ErrCode int32
	//错误信息
	Str string
	//低层错误对象
	Err error
	//错误信息的参数
	Param []interface{}
}

func NewError

func NewError(str string) *Error

func NewErrorWithCode

func NewErrorWithCode(code int32, str string) *Error

func (*Error) Error

func (e *Error) Error() string

func (Error) NewErr

func (e Error) NewErr(suberr error, param ...interface{}) error

延长错误信息

func (*Error) Unwrap

func (e *Error) Unwrap() error

type JsonArray

type JsonArray []interface{}

func (JsonArray) GetArray

func (js JsonArray) GetArray(index int) JsonArray

func (JsonArray) GetIntArray

func (js JsonArray) GetIntArray() []int

func (JsonArray) GetMap

func (js JsonArray) GetMap(index int) JsonMap

func (JsonArray) GetString

func (js JsonArray) GetString(index int) *String

func (JsonArray) GetStringArray

func (js JsonArray) GetStringArray() []string

type JsonMap

type JsonMap map[string]interface{}

func (JsonMap) Get

func (js JsonMap) Get(key string) interface{}

直接返回接口

func (JsonMap) GetArray

func (js JsonMap) GetArray(key string) JsonArray

返回一个JsonArray

func (JsonMap) GetArrayIfExist

func (js JsonMap) GetArrayIfExist(key string) JsonArray

返回一个JsonArray,错误返回空

func (JsonMap) GetBool

func (js JsonMap) GetBool(key string) bool

返回bool类型

func (JsonMap) GetFloat32

func (js JsonMap) GetFloat32(key string) float32

返回float32类型

func (JsonMap) GetInt32

func (js JsonMap) GetInt32(key string) int32

返回int32类型

func (JsonMap) GetInt32Array

func (js JsonMap) GetInt32Array(key string) []int32

返回 []int32

func (JsonMap) GetInt32ArrayIfExist

func (js JsonMap) GetInt32ArrayIfExist(key string) []int32

返回[]iny32

func (JsonMap) GetInt32IfExist

func (js JsonMap) GetInt32IfExist(key string) int32

返回int32类型,如果没有该字段就返回-1

func (JsonMap) GetInt64

func (js JsonMap) GetInt64(key string) int64

返回int64类型

func (JsonMap) GetInt64IfExist

func (js JsonMap) GetInt64IfExist(key string) int64

返回int64类型,如果没有该字段就返回-1

func (JsonMap) GetIntArray

func (js JsonMap) GetIntArray(key string) []int

返回[]int

func (JsonMap) GetMap

func (js JsonMap) GetMap(key string) JsonMap

返回一个JsonMap

func (JsonMap) GetString

func (js JsonMap) GetString(key string) *String

func (JsonMap) GetStringNode

func (js JsonMap) GetStringNode(key string) string

返回string

func (JsonMap) GetUInt16

func (js JsonMap) GetUInt16(key string) uint16

返回uint16类型

func (JsonMap) GetUInt32

func (js JsonMap) GetUInt32(key string) uint32

返回uint32类型

type Keyer

type Keyer interface {
	GetKey() interface{}
}

type MapList

type MapList struct {
	// contains filtered or unexported fields
}

func NewMapList

func NewMapList() *MapList

func (*MapList) Clear

func (mapList *MapList) Clear()

func (*MapList) Exists

func (mapList *MapList) Exists(data Keyer) bool

func (*MapList) Get

func (mapList *MapList) Get(key interface{}) interface{}

func (*MapList) Push

func (mapList *MapList) Push(data Keyer) bool

func (*MapList) Remove

func (mapList *MapList) Remove(data Keyer)

func (*MapList) Size

func (mapList *MapList) Size() int

func (*MapList) Walk

func (mapList *MapList) Walk(cb func(data Keyer) bool)

func (*MapList) WalkAndRemove

func (mapList *MapList) WalkAndRemove(cb func(data Keyer) bool)

type NumberT

type NumberT interface {
	int8 | int16 | int32 | int64 | int | byte | uint16 | uint32 | uint64 | uint | float32 | float64
}

所有数值类泛型模板,复数类型忽略

type SRand

type SRand struct {
	Sr *rand.Rand
	// contains filtered or unexported fields
}
var GlobalRand *SRand

func GetGlobalRand

func GetGlobalRand() *SRand

func NewSRand

func NewSRand(isLock bool) *SRand

func (*SRand) GetRandomIndex

func (sr *SRand) GetRandomIndex(rateNum int, data []int32) (int, bool)

得到随机概率下标-权重

func (*SRand) GetRandomIndex2

func (sr *SRand) GetRandomIndex2(len int) (int32, bool)

得到随机下标

func (*SRand) GetRandomValue

func (sr *SRand) GetRandomValue(data []int32) (int32, bool)

得到随机下标的值

func (*SRand) Happen

func (sr *SRand) Happen(weight, max int) bool

func (*SRand) Rand

func (sr *SRand) Rand(min, max int32) int32

Rand go的随机函数是半开区间,这里是全闭区间

func (*SRand) Rand2

func (sr *SRand) Rand2(max int32) int32

Rand2 半开区间

type Stack

type Stack []*CompNode

func (Stack) Get

func (sk Stack) Get() (result *CompNode)

func (Stack) IsEmpty

func (sk Stack) IsEmpty() bool

func (Stack) Len

func (sk Stack) Len() int

func (*Stack) Pop

func (sk *Stack) Pop() (result *CompNode)

func (*Stack) Push

func (sk *Stack) Push(v *CompNode)

type StackMark

type StackMark []string

func (StackMark) Get

func (sk StackMark) Get() (result string)

func (StackMark) IsEmpty

func (sk StackMark) IsEmpty() bool

func (StackMark) Len

func (sk StackMark) Len() int

func (*StackMark) Pop

func (sk *StackMark) Pop() (result string)

func (*StackMark) Push

func (sk *StackMark) Push(v string)

type String

type String struct {
	// contains filtered or unexported fields
}

String

func NewString

func NewString(s string) *String

func NewStringAny

func NewStringAny(f interface{}) *String

func NewStringBool

func NewStringBool(b bool) *String

func NewStringFloat64

func NewStringFloat64(f float64) *String

func NewStringInt

func NewStringInt(i int) *String

func NewStringInt64

func NewStringInt64(i int64) *String

func (*String) Append

func (str *String) Append(arg *String) *String

func (*String) AppendFloat64

func (str *String) AppendFloat64(f float64) *String

func (*String) AppendInt

func (str *String) AppendInt(i int) *String

func (*String) AppendInt64

func (str *String) AppendInt64(i int64) *String

func (*String) AppendString

func (str *String) AppendString(arg string) *String

func (*String) Clear

func (str *String) Clear() *String

func (*String) Contains

func (str *String) Contains(chars string) bool

If a string contains a string, return true eg: "strings insert chars"

chars = "insert" -> true
chars = "Insert" -> false
chars = "key" -> false

func (*String) ContainsIgnoreCase

func (str *String) ContainsIgnoreCase(chars string) bool

If a string contains a string, return true, and ignore case. eg: "strings insert chars"

chars = "insert" -> true
chars = "Insert" -> true
chars = "key" -> false

func (*String) EndsWith

func (str *String) EndsWith(s string) bool

"123xxxbbb5990" -> "5990" = true

func (*String) Index

func (str *String) Index(chars string) int

abcdef -> e = 4

func (*String) LastIndex

func (str *String) LastIndex(chars string) int

abcdef -> b = 1

func (*String) Len

func (str *String) Len() int

"123" -> 3

func (*String) Remove

func (str *String) Remove(index int) *String

"abc" -> 1 -> "ac"

func (*String) RemoveLast

func (str *String) RemoveLast() *String

"abc" -> "ab"

func (*String) Replace

func (str *String) Replace(old, new string) *String

"%111%abc%987%" -> ("%", "$") -> "$111$abc$987$"

func (*String) StartsWith

func (str *String) StartsWith(s string) bool

"123xxxbbb5990" -> "123x" = true

func (*String) String

func (str *String) String() string

func (*String) Substring

func (str *String) Substring(beginIndex, endIndex int) *String

str := NewString("abcde") str.Substring(0, 2) return: "ab"

func (*String) SubstringBegin

func (str *String) SubstringBegin(beginIndex int) *String

str := NewString("abcde") str.SubstringBegin(2) return: "cde"

func (*String) SubstringEnd

func (str *String) SubstringEnd(endIndex int) *String

str := NewString("abcde") str.SubstringEnd(3) return: "abc"

func (*String) ToArray

func (str *String) ToArray() []string

"460364431014955c2483ec91230e5435" -> [4 6 0 3 6 4 4 3 1 0 1 4 9 5 5 c 2 4 8 3 e c 9 1 2 3 0 e 5 4 3 5]

func (*String) ToBool

func (str *String) ToBool() (bool, error)

func (*String) ToBoolV

func (str *String) ToBoolV() bool

func (*String) ToFloat

func (str *String) ToFloat() (float64, error)

func (*String) ToFloatV

func (str *String) ToFloatV() float64

func (*String) ToInt

func (str *String) ToInt() (int, error)

"12345" -> 12345

func (*String) ToInt64

func (str *String) ToInt64() (int64, error)

func (*String) ToInt64V

func (str *String) ToInt64V() int64

func (*String) ToIntV

func (str *String) ToIntV() int

func (*String) ToLower

func (str *String) ToLower() *String

"aaa" -> "AAA"

func (*String) ToString

func (str *String) ToString() string

func (*String) ToUint64

func (str *String) ToUint64() (uint64, error)

func (*String) ToUint64V

func (str *String) ToUint64V() uint64

func (*String) ToUpper

func (str *String) ToUpper() *String

"BBB" -> "bbb"

func (*String) Trim

func (str *String) Trim() *String

" 123 " -> "123" " 1 23 " -> "1 23"

type StringBuilder

type StringBuilder struct {
	// contains filtered or unexported fields
}

StringBuilder

func NewStringBuilder

func NewStringBuilder() *StringBuilder

func NewStringBuilderCap

func NewStringBuilderCap(capnum int) *StringBuilder

NewStringBuilderCap 带容器长度的创建

func NewStringBuilderString

func NewStringBuilderString(str *String) *StringBuilder

func (*StringBuilder) Append

func (builder *StringBuilder) Append(s string) *StringBuilder

func (*StringBuilder) AppendFloat64

func (builder *StringBuilder) AppendFloat64(f float64) *StringBuilder

func (*StringBuilder) AppendInt

func (builder *StringBuilder) AppendInt(i int) *StringBuilder

func (*StringBuilder) AppendInt64

func (builder *StringBuilder) AppendInt64(i int64) *StringBuilder

func (*StringBuilder) AppendRune

func (builder *StringBuilder) AppendRune(s rune) *StringBuilder

func (*StringBuilder) AppendStrings

func (builder *StringBuilder) AppendStrings(ss ...string) *StringBuilder

func (*StringBuilder) Appendln

func (builder *StringBuilder) Appendln(s string) *StringBuilder

func (*StringBuilder) Clear

func (builder *StringBuilder) Clear() *StringBuilder

func (*StringBuilder) IsEmpty

func (builder *StringBuilder) IsEmpty() bool

IsEmpty 是否为空字符串

func (*StringBuilder) RemoveLast

func (builder *StringBuilder) RemoveLast() *StringBuilder

func (*StringBuilder) Replace

func (builder *StringBuilder) Replace(old, new string) *StringBuilder

func (*StringBuilder) ToString

func (builder *StringBuilder) ToString() string

type StringJson

type StringJson string

json化过的字符串

func (StringJson) MarshalJSON

func (this StringJson) MarshalJSON() ([]byte, error)

func (*StringJson) UnmarshalJSON

func (this *StringJson) UnmarshalJSON(v []byte) error

Jump to

Keyboard shortcuts

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