teautils

package
v0.1.72 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2019 License: MIT Imports: 27 Imported by: 28

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AllCharsets = []maps.Map{}/* 122 elements not displayed */
View Source
var BasicCharsets = []maps.Map{
	{"name": "Chinese Traditional (Big5)", "charset": "big5"},
	{"charset": "euc-kr", "name": "Korean (EUC)"},
	{"charset": "iso-8859-1", "name": "Western Alphabet"},
	{"charset": "iso-8859-2", "name": "Central European Alphabet (ISO)"},
	{"charset": "iso-8859-3", "name": "Latin 3 Alphabet (ISO)"},
	{"charset": "iso-8859-4", "name": "Baltic Alphabet (ISO)"},
	{"charset": "iso-8859-5", "name": "Cyrillic Alphabet (ISO)"},
	{"charset": "iso-8859-6", "name": "Arabic Alphabet (ISO)"},
	{"charset": "iso-8859-7", "name": "Greek Alphabet (ISO)"},
	{"charset": "iso-8859-8", "name": "Hebrew Alphabet (ISO)"},
	{"charset": "koi8-r", "name": "Cyrillic Alphabet (KOI8-R)"},
	{"charset": "shift-jis", "name": "Japanese (Shift-JIS)"},
	{"name": "Japanese (EUC)", "charset": "x-euc"},
	{"charset": "utf-8", "name": "Universal Alphabet (UTF-8)"},
	{"charset": "windows-1250", "name": "Central European Alphabet (Windows)"},
	{"charset": "windows-1251", "name": "Cyrillic Alphabet (Windows)"},
	{"charset": "windows-1252", "name": "Western Alphabet (Windows)"},
	{"charset": "windows-1253", "name": "Greek Alphabet (Windows)"},
	{"charset": "windows-1254", "name": "Turkish Alphabet"},
	{"charset": "windows-1255", "name": "Hebrew Alphabet (Windows)"},
	{"charset": "windows-1256", "name": "Arabic Alphabet (Windows)"},
	{"charset": "windows-1257", "name": "Baltic Alphabet (Windows)"},
	{"charset": "windows-1258", "name": "Vietnamese Alphabet (Windows)"},
	{"charset": "windows-874", "name": "Thai (Windows)"},
}

数据来自 https://webcheatsheet.com/html/character_sets_list.php

View Source
var RegexpDigitNumber = regexp.MustCompile("^\\d+$")
View Source
var UsualCharsets = []maps.Map{
	{"charset": "utf-8", "name": "Universal Alphabet (UTF-8)"},
	{"charset": "unicode", "name": "Unicode"},
	{"name": "Chinese Simplified (GB2312)", "charset": "gb2312"},
	{"charset": "big5", "name": "Chinese Traditional (Big5)"},
	{"charset": "iso-8859-1", "name": "Western Alphabet"},
	{"charset": "euc-kr", "name": "Korean (EUC)"},
	{"charset": "shift-jis", "name": "Japanese (Shift-JIS)"},
	{"charset": "us-ascii", "name": "US-ASCII"},
}

Functions

func BytesToString added in v0.1.6

func BytesToString(bs []byte) string

convert bytes to string

func CloseHTTPClient added in v0.1.6

func CloseHTTPClient(client *http.Client)

关闭客户端连接

func ConvertJSONObjectSafely added in v0.1.2

func ConvertJSONObjectSafely(obj interface{}) interface{}

去除导致不能转换特殊内容的问题 当前不支持struct

func CopyStructObject added in v0.1.7

func CopyStructObject(destPtr, sourcePtr interface{})

拷贝同类型struct指针对象中的字段

func DumpResponse

func DumpResponse(resp *http.Response) (header []byte, body []byte, err error)

导出响应

func Get

func Get(object interface{}, keys []string) interface{}

func MapToObjectJSON

func MapToObjectJSON(fromMap map[string]interface{}, toPtr interface{}) error

通过JSON把map转换为object

func MapToObjectYAML

func MapToObjectYAML(fromMap map[string]interface{}, toPtr interface{}) error

通过YAML把map转换为object

func MatchDomains

func MatchDomains(patterns []string, domain string) (isMatched bool)

从一组规则中匹配域名 支持的格式:example.com, www.example.com, .example.com, *.example.com, ~(\d+).example.com 更多参考:http://nginx.org/en/docs/http/ngx_http_core_module.html#server_name

func MatchKeyword added in v0.1.7

func MatchKeyword(source, keyword string) bool

关键词匹配

func NewHTTPClient added in v0.1.6

func NewHTTPClient(timeout time.Duration) *http.Client

获取一个新的Client

func ObjectToMapJSON

func ObjectToMapJSON(fromPtr interface{}, toMap *map[string]interface{}) error

通过JSON把object转换为map

func ParseVariables

func ParseVariables(source string, replacer func(varName string) (value string)) string

分析变量

func SetRLimit added in v0.1.7

func SetRLimit(limit uint64) error

set resource limit

func SetSuitableRLimit added in v0.1.7

func SetSuitableRLimit()

set best resource limit value

func SharedHttpClient added in v0.1.6

func SharedHttpClient(timeout time.Duration) *http.Client

获取一个公用的Client

Types

type BytePool added in v0.1.6

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

pool for get byte slice

func NewBytePool added in v0.1.6

func NewBytePool(maxSize, length int) *BytePool

创建新对象

func (*BytePool) Destroy added in v0.1.6

func (this *BytePool) Destroy()

销毁

func (*BytePool) Get added in v0.1.6

func (this *BytePool) Get() (b []byte)

获取一个新的byte slice

func (*BytePool) Put added in v0.1.6

func (this *BytePool) Put(b []byte)

放回一个使用过的byte slice

func (*BytePool) Size added in v0.1.6

func (this *BytePool) Size() int

当前的数量

type Command added in v0.1.2

type Command struct {
	Name string
	Args []string
}

命令定义

type CommandExecutor added in v0.1.2

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

命令执行器

func NewCommandExecutor added in v0.1.2

func NewCommandExecutor() *CommandExecutor

获取新对象

func (*CommandExecutor) Add added in v0.1.2

func (this *CommandExecutor) Add(command string, arg ...string)

添加命令

func (*CommandExecutor) Run added in v0.1.2

func (this *CommandExecutor) Run() (output string, err error)

执行命令

type ObjectPool added in v0.1.6

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

对象池

func NewObjectPool added in v0.1.6

func NewObjectPool(maxSize int, newFunc func() interface{}) *ObjectPool

创建新对象

func (*ObjectPool) Destroy added in v0.1.6

func (this *ObjectPool) Destroy()

销毁

func (*ObjectPool) Get added in v0.1.6

func (this *ObjectPool) Get() (obj interface{})

获取一个新的对象

func (*ObjectPool) Put added in v0.1.6

func (this *ObjectPool) Put(obj interface{})

放回一个使用过的对象

func (*ObjectPool) Size added in v0.1.6

func (this *ObjectPool) Size() int

当前的数量

type ServiceManager added in v0.1.6

type ServiceManager struct {
	Name        string
	Description string
	// contains filtered or unexported fields
}

服务管理器

func NewServiceManager added in v0.1.6

func NewServiceManager(name, description string) *ServiceManager

获取对象

func (*ServiceManager) Close added in v0.1.6

func (this *ServiceManager) Close() error

关闭

func (*ServiceManager) Install added in v0.1.6

func (this *ServiceManager) Install(exePath string, args []string) error

安装服务

func (*ServiceManager) Log added in v0.1.6

func (this *ServiceManager) Log(msg string)

记录普通日志

func (*ServiceManager) LogError added in v0.1.6

func (this *ServiceManager) LogError(msg string)

记录错误日志

func (*ServiceManager) PauseWindow added in v0.1.6

func (this *ServiceManager) PauseWindow()

保持命令行窗口是打开的

func (*ServiceManager) Start added in v0.1.6

func (this *ServiceManager) Start() error

启动服务

func (*ServiceManager) Uninstall added in v0.1.6

func (this *ServiceManager) Uninstall() error

删除服务

type Ticker added in v0.1.6

type Ticker struct {
	S chan bool
	C <-chan time.Time
	// contains filtered or unexported fields
}

类似于time.Ticker,但能够真正地停止

func Every added in v0.1.6

func Every(duration time.Duration, f func(ticker *Ticker)) *Ticker

定时运行某个函数

func NewTicker added in v0.1.6

func NewTicker(duration time.Duration) *Ticker

创建新Ticker

func (*Ticker) Next added in v0.1.6

func (this *Ticker) Next() bool

查找下一个Tick

func (*Ticker) Stop added in v0.1.6

func (this *Ticker) Stop()

停止

type VariableHolder

type VariableHolder string

变量信息存储类型

Jump to

Keyboard shortcuts

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