util

package
v0.0.0-...-0cb7091 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2021 License: BSD-3-Clause-Clear Imports: 29 Imported by: 2

Documentation

Index

Constants

View Source
const (
	UTD_VERSION                = "1.0.0"          // ulern库版本号
	UTD_LOG_LEVEL              = ELL_Debug        // 默认日志等级
	UTD_LOG_FILE_SUFFIX        = "log"            // 默认日志文件后缀名
	UTD_LOG_ROTATE_MAX         = 3                // 默认日志文件轮换数量
	UTD_LOG_ROTATE_SIZE        = 20 * 1024 * 1024 // 默认日志文件轮换size
	UTD_LOG_CSIZE              = 100              // 默认日志消息通道缓存大小
	UTD_LOG_DTM_ONCE           = 50               // 逻辑日志每写多少条,写一次[DTM]日期记录
	UTD_RANDOM_WORKERID_BITS   = uint64(10)
	UTD_RANDOM_SEQUENCE_BITS   = uint64(12)
	UTD_RANDOM_WORKERID_SHIFT  = UTD_RANDOM_SEQUENCE_BITS
	UTD_RANDOM_TIMESTAMP_SHIFT = UTD_RANDOM_SEQUENCE_BITS + UTD_RANDOM_WORKERID_BITS
	UTD_RANDOM_SEQUENCE_MASK   = int64(-1) ^ (int64(-1) << UTD_RANDOM_SEQUENCE_BITS)
	UTD_RANDOM_TWEPOCH         = int64(1288834974288) // ( 2012-10-28 16:23:42 UTC ).UnixNano() >> 20
	UTD_RANDOM_CSIZE           = 100
)

------------------------------------------------------------------------------ =======================================常量定义================================== ------------------------------------------------------------------------------

Variables

View Source
var (
	Log *logger // Main Log

)
View Source
var (
	UTD_LOG_MSG_LV_PREFIXS = [ELL_Maxed]string{"[TRC]", "[DBG]", "[INF]", "[WRN]", "[ERR]", "[FAL]"} // fail
)

Functions

func Args

func Args(params ...interface{}) []interface{}

 ======== Common

func AutoLock

func AutoLock(mu *sync.Mutex, fun func())

 ======== mutex lock

func AutoRLock

func AutoRLock(mu *sync.RWMutex, fun func())

func AutoWLock

func AutoWLock(mu *sync.RWMutex, fun func())

func Between

func Between(value, min, max int) bool

func BitDel

func BitDel(value uint, flags ...uint) uint

func BitHas

func BitHas(value uint, flags ...uint) bool

 ======== bits

func BitSet

func BitSet(value uint, flags ...uint) uint

func Boolv

func Boolv(vars []bool) bool

func CRC32

func CRC32(b []byte) uint32

生成CRC32

func CRC32s

func CRC32s(str string) uint32

func Call

func Call(condition bool, trueFun, falseFun func() interface{}) interface{}

func CanOutLog

func CanOutLog(lv ELogLevel) bool

func Carry

func Carry(lv, val, incrVal, valRef int32) (new_lv, new_val int32)

 ======== carry and Patch bit

func Cast

func Cast(condition bool, trueFun, falseFun func())

func Catch

func Catch(desc string, x interface{}, bFatal ...bool) bool

func Clone

func Clone(des, src interface{}) error

func Contain

func Contain(val int, vals ...int) bool

func ContainI

func ContainI(val int64, vals ...int64) bool

func ContainS

func ContainS(val string, vals ...string) bool

ContainS 不区分大小写

func Containi

func Containi(val int32, vals ...int32) bool

func Contains

func Contains(val string, vals ...string) bool

func ConvInt

func ConvInt(strNum string) int

func Convert

func Convert(des, src interface{}) error

func Debug

func Debug(format string, v ...interface{})

func Delete

func Delete(slice interface{}, index int) (interface{}, bool)

Delete 删除任意切片类型指定下标的元素

func DirList

func DirList(dirPth string, suffix string) (files []string, err error)

func DirWalk

func DirWalk(dirPth, suffix string) (files []string, err error)

func DurationMic

func DurationMic(mic int) time.Duration

 ======== time duration

func DurationMil

func DurationMil(mil int) time.Duration

func DurationSec

func DurationSec(sec int) time.Duration

func Error

func Error(format string, v ...interface{})

func ExeFullName

func ExeFullName() string

func ExeFullPath

func ExeFullPath() string

func ExeName

func ExeName() string

func ExePathJoin

func ExePathJoin(file string) string

func ExePathName

func ExePathName() string

func Exec

func Exec(do func())

func ExecCmd

func ExecCmd(cmd string, wait bool, arg ...string) (string, error)

func Fatal

func Fatal(format string, v ...interface{})

func FileCopyTo

func FileCopyTo(srcFile, desFile string) error

func FileCutTo

func FileCutTo(srcFile, desFile string) error

func FileExist

func FileExist(file string) bool

func FileRemove

func FileRemove(file string) error

func FileRename

func FileRename(file string, to string) error

func FileSizefi

func FileSizefi(file string) (int64, error)

func FileTimeMod

func FileTimeMod(file string) (int64, error)

func FunFullName

func FunFullName(fun interface{}, seps ...rune) string

func FunSelfName

func FunSelfName(fun interface{}) string

func GetLocalIp

func GetLocalIp() string

func GetMacAddr

func GetMacAddr() string

func GoId

func GoId() (int, error)

func Goroutine

func Goroutine(name string, goFun func())

func Info

func Info(format string, v ...interface{})

func Init

func Init(lconf ...*LogConf)

func Insert

func Insert(slice interface{}, index int, value interface{}) (interface{}, bool)

Insert 给任意切片类型插入元素

func Intv

func Intv(vars []int) int

 ======== check

func IsToday

func IsToday(checkTime int64) bool

func Lock

func Lock(mu *sync.Mutex) *sync.Mutex

func LookCmd

func LookCmd(cmdName string) bool

func MD5

func MD5(b []byte) string

生成md5

func MD5s

func MD5s(str string) string

func Max

func Max(n1, n2 int) int

func Maxf

func Maxf(f1, f2 float32) float32

func Min

func Min(n1, n2 int) int

func MinMax

func MinMax(value, min, max int) int

func MinMaxf

func MinMaxf(value, minf, maxf float32) float32

func Minf

func Minf(f1, f2 float32) float32

func Ping

func Ping(ip string) error

func Print

func Print(format string, v ...interface{})

func Println

func Println(v ...interface{})

func Quit

func Quit(delay ...time.Duration)

func RLock

func RLock(mu *sync.RWMutex) *sync.RWMutex

func RUnLock

func RUnLock(rMutex *sync.RWMutex)

func RandFnt

func RandFnt() float32

func RandInt

func RandInt(max int) int

 ======== random

func RandIntDis

func RandIntDis(max, num int) []int

func RandInts

func RandInts(max, num int) []int

func RandStr

func RandStr(num int) string

func RemoveDuplicate

func RemoveDuplicate(slice []int) []int

func RemoveDuplicate64

func RemoveDuplicate64(slice []int64) []int64

func RemoveDuplicateStr

func RemoveDuplicateStr(slice []string) []string

func RemoveDuplicateU64

func RemoveDuplicateU64(slice []uint64) []uint64

func SHA1

func SHA1(b []byte) string

生成sha1

func SHA1s

func SHA1s(str string) string

func ShouldMax

func ShouldMax(value, maxVal, should int) int

func ShouldMin

func ShouldMin(value, minVal, should int) int

func ShouldStr

func ShouldStr(value, desStr, should string) string

func Sign

func Sign(hand func(interface{}))

func Stack

func Stack() (file string, line int, fun string)

func StackStr

func StackStr() string

func StartPprof

func StartPprof(addr string)

func StopPprof

func StopPprof()

func Stringv

func Stringv(vars []string) string

func Sum

func Sum(arr ...int) int

 ======== base type limit

func Sumf

func Sumf(arr ...float32) float32

func TimeFormat

func TimeFormat(t time.Time) string

 ======== time datatime

func TimeFormat_

func TimeFormat_(t time.Time) string

func TimeLived

func TimeLived() time.Duration

func TimeParse

func TimeParse(datum time.Time, datetime string) (time.Time, error)

func TimeParseDt

func TimeParseDt(datum time.Time, datetime string) time.Time

func TimeParseEx

func TimeParseEx(datetime string) time.Time

func TimeStart

func TimeStart() time.Time

func TimeToString

func TimeToString(nTimer int64) string

* 描述: 时间戳转格式化为字符串 * **************************************************************************

func TimeToStringEx

func TimeToStringEx(nTimer int64) string

* 描述: 时间戳转格式化为字符串 * **************************************************************************

func Trace

func Trace(format string, v ...interface{})

func UnLock

func UnLock(lockFun *sync.Mutex)

func Update

func Update(slice interface{}, index int, value interface{}) (interface{}, bool)

Update 修改任意切片类型指定下标的元素

func WLock

func WLock(mu *sync.RWMutex) *sync.RWMutex

func WUnLock

func WUnLock(wMutex *sync.RWMutex)

func Wait

func Wait(x ...interface{})

func Warn

func Warn(format string, v ...interface{})

func WeekDayEn2n

func WeekDayEn2n(shortWeekEn string) time.Weekday

Types

type ELogLevel

type ELogLevel int //

日志等级

const (
	ELL_Trace ELogLevel = iota
	ELL_Debug
	ELL_Infos
	ELL_Warns
	ELL_Error
	ELL_Fatal
	ELL_Maxed // 6
)

func (ELogLevel) String

func (e ELogLevel) String() string

type ELogMode

type ELogMode int //

日志输出模式

const (
	ELM_Std ELogMode = 1 << iota
	ELM_File
	ELM_Max
)

func (ELogMode) String

func (e ELogMode) String() string

type ELoggerStatus

type ELoggerStatus int //

日志运行状态

const (
	ELS_Initing ELoggerStatus = iota
	ELS_Running
	ELS_Exiting
	ELS_Stopped
	ELS_Max
)

func (ELoggerStatus) String

func (e ELoggerStatus) String() string

type ILogMe

type ILogMe interface {
	ILoger

	WarnEnil(format string, v ...interface{}) error
	ErrorEnil(format string, v ...interface{}) error

	// FATAL
	Fatal(format string, v ...interface{})
	Fatalv(v ...interface{})
}

ILogMe interface

type ILoger

type ILoger interface {
	// TRACE
	Trace(format string, v ...interface{})
	Tracev(v ...interface{})

	// DEBUG
	Debug(format string, v ...interface{})
	Debugv(v ...interface{})

	// INFO
	Info(format string, v ...interface{})
	Infov(v ...interface{})

	// WARN
	Warn(format string, v ...interface{})
	Warnv(v ...interface{})

	// ERROR
	Error(format string, v ...interface{})
	Errorv(v ...interface{})
}

ILoger interface

type LogConf

type LogConf struct {
	Level      ELogLevel // 日志等级[ELL_Debug]
	OutMode    ELogMode  // 日志输出模式
	DirName    string    // 输出目录[默认在程序所在目录]
	FileName   string    // 日志文件主名[程序本身名]
	FileSuffix string    // 日志文件后缀[log]
	RotateMax  int       // 日志文件轮换数量[3]
	RotateSize int       // 日志文件轮换大小[20m]
}

日志配置

type LogMe

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

日志自己(带堆栈)

func (*LogMe) Debug

func (l *LogMe) Debug(format string, v ...interface{})

func (*LogMe) Debugv

func (l *LogMe) Debugv(v ...interface{})

func (*LogMe) Error

func (l *LogMe) Error(format string, v ...interface{})

func (*LogMe) ErrorEnil

func (l *LogMe) ErrorEnil(format string, v ...interface{}) error

func (*LogMe) Errorv

func (l *LogMe) Errorv(v ...interface{})

func (*LogMe) Fatal

func (l *LogMe) Fatal(format string, v ...interface{})

func (*LogMe) Fatalv

func (l *LogMe) Fatalv(v ...interface{})

func (*LogMe) Info

func (l *LogMe) Info(format string, v ...interface{})

func (*LogMe) Infov

func (l *LogMe) Infov(v ...interface{})

func (*LogMe) Init

func (l *LogMe) Init(theme string, name func() string)

func (*LogMe) Trace

func (l *LogMe) Trace(format string, v ...interface{})

func (*LogMe) Tracev

func (l *LogMe) Tracev(v ...interface{})

func (*LogMe) Warn

func (l *LogMe) Warn(format string, v ...interface{})

func (*LogMe) WarnEnil

func (l *LogMe) WarnEnil(format string, v ...interface{}) error

func (*LogMe) Warnv

func (l *LogMe) Warnv(v ...interface{})

type TDurt

type TDurt = time.Duration

type TGUID

type TGUID uint64 //

GUID TYPE

func RandGID

func RandGID() TGUID

func (TGUID) Hex

func (t TGUID) Hex() []byte

func (TGUID) HexStr

func (t TGUID) HexStr() string

type TJsTime

type TJsTime time.Time // Support json.Unmarshaler and json.Marshaler and fmt.Stringer

时间点(别名)

func (*TJsTime) MarshalJSON

func (t *TJsTime) MarshalJSON() ([]byte, error)

func (TJsTime) String

func (t TJsTime) String() string

func (TJsTime) ToTime

func (t TJsTime) ToTime() time.Time

func (*TJsTime) UnmarshalJSON

func (t *TJsTime) UnmarshalJSON(data []byte) error

type TTime

type TTime = time.Time

时间段(别名)

Jump to

Keyboard shortcuts

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