xstring

package
v0.1.11 Latest Latest
Warning

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

Go to latest
Published: Sep 11, 2023 License: BSD-3-Clause-Clear Imports: 19 Imported by: 0

Documentation

Overview

xstring包,用于替换掉xgostring包,以便引入时能更少的输入部分内容

Index

Constants

View Source
const (
	PAD_LEFT  = 1
	PAD_RIGHT = 2
)

Variables

View Source
var WeekList = map[uint8]string{
	0: "日",
	1: "一",
	2: "二",
	3: "三",
	4: "四",
	5: "五",
	6: "六",
}

周uint定位

Functions

func B2Int

func B2Int(s string) (num int64)

二进制转十进制

s	string	需要转换的二进制数

func Base64

func Base64(p string) string

对字符串进行base64编码

p	待编码的字符串

func Base64Raw

func Base64Raw(p string) string

对字符串进行base64编码[去除填充吗,一般用于jwt]

p	待编码的字符串

func Charset

func Charset(src string, srcCode string, target string) []byte

字符串编码转换

str		string	要转换的字符串
strCode	string	输入字符串编码
target	string	输出字符串编码格式

func EmojiDecode

func EmojiDecode(s string) string

表情解码 将emoji表情替换成类似[\u1f415]的字符串

s	待解码的含emoji表情的字符串

func EmojiEncode

func EmojiEncode(s string) string

表情编码 将类似[\u1f415]的解码emoji表情转换为原始的emoji表情

s	含有类似[\u1f415]字符串的字符串

func HasContains

func HasContains(str string) bool

检测字符串中是否存在中文

str	待检测的字符串

func HasContainsQuest

func HasContainsQuest(str string) bool

快速检测字符串中是否存在中文 此处采用的为国标码GB18030和国际码Unicode的范围:0x4e00 ~ 0x9fff 0x3400 ~ 0x4dbf 0x20000 ~ 0x2a6df 详细字符集范围见下表: 字符集 字数 Unicode 编码 基本汉字 20902字 4E00-9FA5 基本汉字补充 90字 9FA6-9FFF 扩展A 6592字 3400-4DBF 扩展B 42720字 20000-2A6DF 扩展C 4154字 2A700-2B739 扩展D 222字 2B740-2B81D 扩展E 5762字 2B820-2CEA1 扩展F 7473字 2CEB0-2EBE0 扩展G 4939字 30000-3134A 扩展H 4192字 31350-323AF 康熙部首 214字 2F00-2FD5 部首扩展 115字① 2E80-2EF3 兼容汉字 472字② F900-FAD9 兼容扩展 542字 2F800-2FA1D 汉字笔画 36字 31C0-31E3 汉字结构 12字 2FF0-2FFB 汉语注音 43字 3105-312F 注音扩展 32字 31A0-31BF 〇 1字 3007

str	待检测的字符串

func HasEmoji

func HasEmoji(str string) bool

判断字符串中是否存在emoji表情【此处使用rune的取值范围来确定是不是emoji表情,中文最大值为0xffff】 此处采用的为国标码GB18030和国际码Unicode中都有收录emoji图形符号 0x2600 ~ 0x27ff 0x1f000 ~ 0x1f6ff

str	待判断的字符串

func HasLetter added in v0.1.8

func HasLetter(str string) bool

检测字符串中是否存在英文字母

str	待检测的字符串

func HasLetterLower added in v0.1.8

func HasLetterLower(str string) bool

检测字符串中是否存在英文字母-小写字母

str	待检测的字符串

func HasLetterUp added in v0.1.8

func HasLetterUp(str string) bool

检测字符串中是否存在英文字母-大写字母

str	待检测的字符串

func HasNumber added in v0.1.8

func HasNumber(str string) bool

检测字符串中是否存在数字

str	待检测的字符串

func HasPunct added in v0.1.8

func HasPunct(str string) bool

检测字符串中是否存在Unicode标点符号

str	待检测的字符串

func HasSpace added in v0.1.8

func HasSpace(str string) bool

检测字符串中是否存在空白符

str	待检测的字符串

func HtmlTrim

func HtmlTrim(src string) string

去除html标签和空白符

src	待去除的网页代码

func JFloat32

func JFloat32(c json.Number) float32

json.Number转float32类型 因此类型为json转为float64以后再次转为其他数值类型,可能会存在数值溢出的问题

c	待转换的类型

func JFloat64

func JFloat64(c json.Number) float64

json.Number转float64类型 因此类型为json转为float64以后再次转为其他数值类型,可能会存在数值溢出的问题

c	待转换的类型

func JInt

func JInt(c json.Number) int

json.Number转int类型 因此类型为json转为int64以后再次转为其他数值类型,可能会存在数值溢出的问题

c	待转换的类型

func JInt16

func JInt16(c json.Number) int16

json.Number转int16类型 因此类型为json转为int64以后再次转为其他数值类型,可能会存在数值溢出的问题

c	待转换的类型

func JInt64

func JInt64(c json.Number) int64

json. 因此类型为json转为int64以后再次转为其他数值类型,可能会存在数值溢出的问题

c	待转换的类型

func JInt8

func JInt8(c json.Number) int8

json.Number转int8类型 因此类型为json转为int64以后再次转为其他数值类型,可能会存在数值溢出的问题

c	待转换的类型

func JUint

func JUint(c json.Number) uint

json.Number转uint类型 因此类型为json转为int64以后再次转为其他数值类型,可能会存在数值溢出的问题

c	待转换的类型

func JUint16

func JUint16(c json.Number) uint16

json.Number转uint16类型 因此类型为json转为int64以后再次转为其他数值类型,可能会存在数值溢出的问题

c	待转换的类型

func JUint64

func JUint64(c json.Number) uint64

json.Number转uint64类型 因此类型为json转为int64以后再次转为其他数值类型,可能会存在数值溢出的问题

c	待转换的类型

func JUint8

func JUint8(c json.Number) uint8

json.Number转uint8类型 因此类型为json转为int64以后再次转为其他数值类型,可能会存在数值溢出的问题

c	待转换的类型

func Jwt

func Jwt(key []byte, payloadData any) (string, error)

生成jwt签名

key			签名
payloadData	待加密的内容

func MD5

func MD5(text string) string

计算字符串的MD5值

text	待计算的字符串值

func MD5Byte

func MD5Byte(data []byte) string

计算byte字节流的MD5值

data	待计算的字节流的值

func MD5File

func MD5File(file string) string

计算文件的MD5值

file	文件的绝对路径

func Pad

func Pad(input string, padLength int, padString string, padType int) string

字符串填充到指定长度

input	string	原字符串
padLength	int	规定补齐后的字符串位数
padString	string	自定义填充字符串
padType	string	填充类型:PAD_LEFT(向左填充,自动补齐位数), 默认右侧

func Phone

func Phone(t string) string

手机号脱敏

t	待脱敏的手机号

func Random

func Random(l int, arg ...string) string

获取随机数

l	int	获取随机数长度
arg	string	可选参数,随机数的发生范围【只有第一个可选参数生效】

func RandomPass

func RandomPass(l int, num, up, dow, sym bool) string

随机密码生成

l	密码长度
num	是否含有数字
up	是否含有大写字母
dow	是否含有小写字母
sym	是否含有特殊符号

func SHA1

func SHA1(text string) string

计算字符串的SHA1值

func SHA1Byte

func SHA1Byte(data []byte) string

计算byte字节流的SHA1值

data	待计算的字节流

func SHA1File

func SHA1File(file string) string

计算文件的SHA1

file	文件的绝对路径

func TimeDateAge

func TimeDateAge(str1 string) (uint, error)

计算传入日期到现在的时间差[单位-年,用于计算年龄] str1需为yyyy-mm-dd格式的时间才行

str1	用户出生日期

func TimeDateDiff

func TimeDateDiff(str1, str2 string) (time.Duration, error)

计算两个时间的时间差【第一个日期比第二个日期大则为正数】 str1和str2均为yyyy-mm-dd格式的时间才行

str1	日期参数1
str2	日期参数2

func TimeDiff

func TimeDiff(str1, str2 string) (time.Duration, error)

计算两个时间的时间差 str1和str2均为yyyy-mm-dd hh:mm:ss格式的时间才行

str1	日期时间参数1
str2	日期时间参数2

func ToFloat32

func ToFloat32(s string) float32

字符串转float32

s	string	待转换的字符串

func ToFloat64

func ToFloat64(s string) float64

字符串转float64

s	string	待转换的字符串

func ToInt

func ToInt(s string) int

字符串转int

s	string	待转换的字符串

func ToInt64

func ToInt64(s string) int64

字符串转int64

s	string	待转换的字符串

func ToInt8

func ToInt8(s string) int8

字符串转int8类型

s	string	待转换的字符串

func ToTime

func ToTime(date string) *time.Time

时间字符串转为时间

date	待转换的时间字符串,支持格式为([]内的为选填字符):
	[yy]yy-[m]m-[d]d hh:mm[:ss]
	[yy]yy-[m]m-[d]d

func ToUint

func ToUint(s string) uint

字符串转uint

s	string	待转换的字符串

func ToUint16

func ToUint16(s string) uint16

字符串转uint16

s	string	待转换的字符串

func ToUint64

func ToUint64(s string) uint64

字符串转uint64

s	string	待转换的字符串

func ToUint8

func ToUint8(s string) uint8

字符串转uint8

s	string	待转换的字符串

func UUID

func UUID() string

生成UUID

基于 `satori/go.uuid` 库,使用

func UnBase64

func UnBase64(p string) string

对字符串进行encode64解码

p	待解码的字符串

func UnBase64Raw

func UnBase64Raw(p string) string

对字符串进行encode64解码[去除填充解码,一般用于jwt]

p	待解码的字符串

func UnJwt

func UnJwt(key []byte, token string, stu any) error

带签名秘钥的JWT解密

key		签名秘钥
token	JWT字符串
stu		结构体形式的参数体

func UnJwtNoKey

func UnJwtNoKey(token string, stu any) error

JWTToken 无视秘钥进行解密

token	JWT token结构体
stu		JWT token解析出的数据

Types

type UaInfo

type UaInfo struct {
	Mobile        bool   `json:"mobile"`         // 是否是移动设备
	Bot           bool   `json:"bot"`            // 是否是机器人程序
	Mozilla       string `json:"mozilla"`        // Mozilla版本
	Model         string `json:"model"`          // 手机型号
	Platform      string `json:"platform"`       // 所在平台
	OS            string `json:"os"`             // 操作系统
	EngineName    string `json:"engine_name"`    // 引擎名称
	EngineVersion string `json:"engine_version"` // 引擎版本
	BrowName      string `json:"brow_name"`      // 浏览器名称
	BrowVersion   string `json:"brow_version"`   // 浏览器版本
}

根据UA解析其中内容

func Ua2info

func Ua2info(user_agent_string string) UaInfo

根据UA获取详情信息

user_agent_string	UA拆分前的UA头

Jump to

Keyboard shortcuts

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