tools

package
v1.1.7 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2025 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package tools 工具箱

Package tools 字节转化

Index

Constants

View Source
const CODE62 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

CODE62 62进制码

View Source
const CodeLenth = 62

CodeLenth 进制位

Variables

View Source
var EDOC = map[string]int64{"0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, "8": 8, "9": 9, "a": 10, "b": 11, "c": 12, "d": 13, "e": 14, "f": 15, "g": 16, "h": 17, "i": 18, "j": 19, "k": 20, "l": 21, "m": 22, "n": 23, "o": 24, "p": 25, "q": 26, "r": 27, "s": 28, "t": 29, "u": 30, "v": 31, "w": 32, "x": 33, "y": 34, "z": 35, "A": 36, "B": 37, "C": 38, "D": 39, "E": 40, "F": 41, "G": 42, "H": 43, "I": 44, "J": 45, "K": 46, "L": 47, "M": 48, "N": 49, "O": 50, "P": 51, "Q": 52, "R": 53, "S": 54, "T": 55, "U": 56, "V": 57, "W": 58, "X": 59, "Y": 60, "Z": 61}

EDOC 62进制码

Functions

func BoolToBytes

func BoolToBytes(v bool) []byte

BoolToBytes bool->bytes

func BytesToBool

func BytesToBool(buf []byte) bool

BytesToBool bytes->bool

func BytesToFloat32

func BytesToFloat32(bytes []byte) float32

BytesToFloat32 BytesToFloat32

func BytesToFloat64

func BytesToFloat64(bytes []byte) float64

BytesToFloat64 BytesToFloat64

func BytesToInt32

func BytesToInt32(buf []byte) int32

BytesToInt32 BytesToInt32

func BytesToInt64

func BytesToInt64(buf []byte) int64

BytesToInt64 BytesToInt64

func BytesToMap

func BytesToMap(bytes []byte) (map[string]any, error)

BytesToMap BytesToMap

func Catch

func Catch(panicRet any) error

catch panic

func FeistelDecrypt added in v1.1.7

func FeistelDecrypt(num uint32) uint32

Feistel网络解密 - 还原原始int32

func FeistelEncrypt added in v1.1.7

func FeistelEncrypt(num uint32) uint32

Feistel网络加密 - 将int32混淆

func Float32ToBytes

func Float32ToBytes(float float32) []byte

Float32ToBytes Float32ToBytes

func Float64ToBytes

func Float64ToBytes(float float64) []byte

Float64ToBytes Float64ToBytes

func FromBase34 added in v1.1.7

func FromBase34(s string) (uint64, error)

FromBase34 ...

func FromBase62 added in v1.1.7

func FromBase62(str string) int64

FromBase62 解码字符串为整数

func Int32ToBytes

func Int32ToBytes(i int32) []byte

Int32ToBytes Int32ToBytes

func Int64ToBytes

func Int64ToBytes(i int64) []byte

Int64ToBytes Int64ToBytes

func JSONToMsgPack added in v1.1.7

func JSONToMsgPack(jsonStr string) ([]byte, error)

JSON → MsgPack

func MapToBytes

func MapToBytes(jmap map[string]any) ([]byte, error)

MapToBytes MapToBytes

func MsgPackToJSON added in v1.1.7

func MsgPackToJSON(msgpackData []byte) (string, error)

MsgPack → JSON

func ToBase34 added in v1.1.7

func ToBase34(d uint64) string

ToBase34 ...

func ToBase62 added in v1.1.7

func ToBase62(number int64) string

ToBase62 编码 整数 为 base62 字符串

Types

type ID

type ID uint64

An ID is a unique, uniformly distributed 64-bit ID.

func GenerateID

func GenerateID() ID

GenerateID returns a randomly-generated 64-bit ID. This function is thread-safe. IDs are produced by consuming an AES-CTR-128 keystream in 64-bit chunks. The AES key is randomly generated on initialization, as is the counter's initial state. On machines with AES-NI support, ID generation takes ~30ns and generates no garbage.

func ParseID

func ParseID(s string) (ID, error)

ParseID parses the given string as a hexadecimal string.

func (ID) MarshalJSON

func (id ID) MarshalJSON() ([]byte, error)

MarshalJSON encodes the ID as a hex string.

func (ID) String

func (id ID) String() string

String returns the ID as a hex string.

func (*ID) UnmarshalJSON

func (id *ID) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the given data as either a hexadecimal string or JSON integer.

type Queue

type Queue[T any] struct {
	// contains filtered or unexported fields
}

Queue represents a single instance of the queue data structure.

func NewQueue

func NewQueue[T any]() *Queue[T]

NewQueue constructs and returns a new Queue.

func (*Queue[T]) Add

func (q *Queue[T]) Add(elem T)

Add puts an element on the end of the queue.

func (*Queue[T]) Get

func (q *Queue[T]) Get(i int) T

Get returns the element at index i in the queue. If the index is invalid, the call will panic. This method accepts both positive and negative index values. Index 0 refers to the first element, and index -1 refers to the last.

func (*Queue[T]) Length

func (q *Queue[T]) Length() int

Length returns the number of elements currently stored in the queue.

func (*Queue[T]) Peek

func (q *Queue[T]) Peek() T

Peek returns the element at the head of the queue. This call panics if the queue is empty.

func (*Queue[T]) Remove

func (q *Queue[T]) Remove() T

Remove removes and returns the element from the front of the queue. If the queue is empty, the call will panic.

type SafeMap added in v1.1.7

type SafeMap[K comparable] struct {
	// contains filtered or unexported fields
}

SafeMap is a map with lock

func NewSafeMap added in v1.1.7

func NewSafeMap[K comparable]() *SafeMap[K]

NewSafeMap return new safemap

func (*SafeMap[K]) Check added in v1.1.7

func (m *SafeMap[K]) Check(k K) bool

Check Returns true if k is exist in the map.

func (*SafeMap[K]) Delete added in v1.1.7

func (m *SafeMap[K]) Delete(k K)

Delete the given key and value.

func (*SafeMap[K]) DeleteAll added in v1.1.7

func (m *SafeMap[K]) DeleteAll()

DeleteAll DeleteAll

func (*SafeMap[K]) Get added in v1.1.7

func (m *SafeMap[K]) Get(k K) any

Get from maps return the k's value

func (*SafeMap[K]) Items added in v1.1.7

func (m *SafeMap[K]) Items() map[K]any

Items returns all items in safemap.

func (*SafeMap[K]) Set added in v1.1.7

func (m *SafeMap[K]) Set(k K, v any) bool

Set Maps the given key and value. Returns false if the key is already in the map and changes nothing.

Directories

Path Synopsis
Package
Package

Jump to

Keyboard shortcuts

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