utils

package
v0.0.0-...-e775c48 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2021 License: AGPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrConnectionClosed = errors.New("connection closed")

Functions

func B2S

func B2S(b []byte) string

B2S converts byte slice to a string without memory allocation. See https://groups.google.com/forum/#!msg/Golang-Nuts/ENgbUzYvCuU/90yGx7GUAgAJ . from github.com/savsgio/gotils/strconv

func ChineseLength

func ChineseLength(str string, limit int) int

func ChunkString

func ChunkString(s string, chunkSize int) []string

func ComputeMd5AndLength

func ComputeMd5AndLength(r io.Reader) ([]byte, int64)

func HTTPGetReadCloser

func HTTPGetReadCloser(url string, cookie string) (io.ReadCloser, error)

HTTPGetReadCloser 从 Http url 获取 io.ReadCloser

func HttpGetBytes

func HttpGetBytes(url, cookie string) ([]byte, error)

HttpGetBytes 带 cookie 的 GET 请求

func HttpPostBytes

func HttpPostBytes(url string, data []byte) ([]byte, error)

func HttpPostBytesWithCookie

func HttpPostBytesWithCookie(url string, data []byte, cookie string, contentType ...string) ([]byte, error)

func IsChanClosed

func IsChanClosed(ch interface{}) bool

func MultiReadSeeker

func MultiReadSeeker(r ...io.ReadSeeker) io.ReadSeeker

func NewGzipReadCloser

func NewGzipReadCloser(reader io.ReadCloser) (io.ReadCloser, error)

NewGzipReadCloser 从 io.ReadCloser 创建 gunzip io.ReadCloser

func RandomString

func RandomString(len int) string

func RandomStringRange

func RandomStringRange(len int, str string) string

func S2B

func S2B(s string) (b []byte)

S2B converts string to a byte slice without memory allocation.

Note it may break if string and/or slice header will change in the future go versions.

func Select

func Select(a, b []byte) []byte

Select 如果A为nil 将会返回 B 否则返回A 对应 ?? 语法

func ToGroupCode

func ToGroupCode(groupUin int64) int64

func ToGroupUin

func ToGroupUin(groupCode int64) int64

Types

type Cache

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

Cache - simple implementation of cache More information: https://en.wikipedia.org/wiki/Time_to_live

func NewCache

func NewCache(interval time.Duration) *Cache

NewCache - initialization of new cache. For avoid mistake - minimal time to live is 1 minute. For simplification, - key is string and cache haven`t stop method

func (*Cache) Add

func (cache *Cache) Add(key string, value interface{}, ttl time.Duration)

Add - add key/value in cache

func (*Cache) Count

func (cache *Cache) Count() int

Count - return amount element of TTL map.

func (*Cache) Get

func (cache *Cache) Get(key string) (interface{}, bool)

Get - return value from cache

func (*Cache) GetAndUpdate

func (cache *Cache) GetAndUpdate(key string, ttl time.Duration) (interface{}, bool)

func (*Cache) GetKeys

func (cache *Cache) GetKeys() []interface{}

GetKeys - return all keys of cache map

type TCPListener

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

func (*TCPListener) Close

func (t *TCPListener) Close()

func (*TCPListener) Connect

func (t *TCPListener) Connect(addr *net.TCPAddr) error

func (*TCPListener) PlanedDisconnect

func (t *TCPListener) PlanedDisconnect(f func(*TCPListener))

PlanedDisconnect 预料中的断开连接 如调用 Close() Connect()

func (*TCPListener) ReadBytes

func (t *TCPListener) ReadBytes(len int) ([]byte, error)

func (*TCPListener) ReadInt32

func (t *TCPListener) ReadInt32() (int32, error)

func (*TCPListener) UnexpectedDisconnect

func (t *TCPListener) UnexpectedDisconnect(f func(*TCPListener, error))

UnexpectedDisconnect 未预料钟的断开连接

func (*TCPListener) Write

func (t *TCPListener) Write(buf []byte) error

Jump to

Keyboard shortcuts

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