Documentation ¶
Index ¶
- Variables
- func B2S(b []byte) string
- func ChunkString(s string, chunkSize int) []string
- func ComputeMd5AndLength(r io.Reader) ([]byte, int64)
- func ConvertSubVersionToInt(str string) int32
- func HTTPGetReadCloser(url string, cookie string) (io.ReadCloser, error)
- func HttpGetBytes(url, cookie string) ([]byte, error)
- func HttpPostBytes(url string, data []byte) ([]byte, error)
- func HttpPostBytesWithCookie(url string, data []byte, cookie string, contentType ...string) ([]byte, error)
- func MultiReadSeeker(r ...io.ReadSeeker) io.ReadSeeker
- func NewGzipReadCloser(reader io.ReadCloser) (io.ReadCloser, error)
- func RandomString(len int) string
- func RandomStringRange(length int, str string) string
- func S2B(s string) (b []byte)
- func Select(a, b []byte) []byte
- func ToGroupCode(groupUin int64) int64
- func ToGroupUin(groupCode int64) int64
- func XmlEscape(s string) string
- type Cache
- type ICMPPingResult
- type UploadWaiter
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func B2S ¶
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 ChunkString ¶
func ConvertSubVersionToInt ¶
func HTTPGetReadCloser ¶
func HTTPGetReadCloser(url string, cookie string) (io.ReadCloser, error)
HTTPGetReadCloser 从 Http url 获取 io.ReadCloser
func HttpGetBytes ¶
HttpGetBytes 带 cookie 的 GET 请求
func HttpPostBytesWithCookie ¶
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 RandomStringRange ¶
func S2B ¶
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 ToGroupCode ¶
func ToGroupUin ¶
Types ¶
type Cache ¶
type Cache[T any] struct { // contains filtered or unexported fields }
Cache - simple implementation of cache More information: https://en.wikipedia.org/wiki/Time_to_live
func NewCache ¶
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[T]) GetAndUpdate ¶
type ICMPPingResult ¶
func RunTCPPingLoop ¶
func RunTCPPingLoop(ipport string, count int) (r ICMPPingResult)
RunTCPPingLoop 使用 tcp 进行 ping
type UploadWaiter ¶
type UploadWaiter struct {
// contains filtered or unexported fields
}
UploadWaiter 用于控制并发上传,当有一个文件多次上传时, 等待第一个上传,后续的上传并发进行(可以秒传).
func NewUploadWaiter ¶
func NewUploadWaiter() *UploadWaiter
NewUploadWaiter return a new UploadWaiter.