util

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2022 License: MIT Imports: 24 Imported by: 0

Documentation

Overview

Package service @Author: asus @Description: $ @File: random @Data: 2021/12/2318:44

Package util @Author: asus @Description: $ @File: struct @Data: 2022/4/119:31

Package util @Author: asus @Description: $ @File: translations @Data: 2021/12/39:36

Index

Constants

View Source
const (
	PI     = math.Pi * 3000.0 / 180.0
	OFFSET = 0.00669342162296594323
	AXIS   = 6378245.0
)
View Source
const (
	DateFormat    = "2006-01-02 15:04:05"
	DayFormatFile = "2006_01_02"
	DayFormat     = "2006-01-02"
	DayIntFormat  = "20060102"
	DayFormatYmdH = "2006-01-02-15"
)

Variables

This section is empty.

Functions

func BD09toGCJ02

func BD09toGCJ02(lng, lat float64) (float64, float64)

BD09toGCJ02 百度坐标系->火星坐标系

func BD09toWGS84

func BD09toWGS84(lng, lat float64) (float64, float64)

BD09toWGS84 百度坐标系->WGS84坐标系

func BeijingTime

func BeijingTime() time.Time

func CamelCaseString

func CamelCaseString(s string) string

func ConvertToByte

func ConvertToByte(src *string, srcCode string, targetCode string) []byte

func CutArrayString

func CutArrayString(arr []string, per int) [][]string

*

  • 大数组分割成多个小数组 - 用于批量处理数据的时候,防止SQL参数过大
  • @param arr 大数组
  • @param per 每个小数组的长度
  • @return 小数组

func CutArrayUint64

func CutArrayUint64(arr []uint64, per int) [][]uint64

*

  • 大数组分割成多个小数组 - 用于批量处理数据的时候,防止SQL参数过大
  • @param arr 大数组
  • @param per 每个小数组的长度
  • @return 小数组

func DayToUnix0000

func DayToUnix0000(day string) (int64, error)

func DayToUnix2359

func DayToUnix2359(day string) (int64, error)

func DayUint64

func DayUint64(t *time.Time) (uint64, error)

func Distance

func Distance(lng1, lat1, lng2, lat2 float64) float64

两点之间的距离,单位(米)

func ExcludeArr

func ExcludeArr(arr []uint64, exclude []uint64) []uint64

*

  • 切片数组中移除指定的值
  • @param arr 原始切片
  • @param exclude 被排除的切片
  • @return 切片

func FloatToInt

func FloatToInt(v float64) int

func FloatToStr

func FloatToStr(v float64) string

func GCJ02toBD09

func GCJ02toBD09(lng, lat float64) (float64, float64)

GCJ02toBD09 火星坐标系->百度坐标系

func GCJ02toWGS84

func GCJ02toWGS84(lng, lat float64) (float64, float64)

GCJ02toWGS84 火星坐标系->WGS84坐标系

func GetMonth

func GetMonth(t *time.Time) int

func GetYmdInt

func GetYmdInt(t *time.Time) (int, int, int)

func InArrayByte

func InArrayByte(elem byte, arr []byte) bool

*

  • 判断目标值是否在枚举值数组中
  • @param elem 目标值
  • @param arr byte数组

func InArrayInt

func InArrayInt(elem int, arr []int) bool

*

  • 判断目标值是否在枚举值数组中
  • @param elem 目标值
  • @param arr int数组

func InArrayString

func InArrayString(elem string, arr []string) bool

func InArrayUint64

func InArrayUint64(elem uint64, arr []uint64) bool

*

  • 判断目标值ID是否在枚举值数组中
  • @param elem 目标值
  • @param arr uint64数组

func InArrayUint8

func InArrayUint8(elem uint8, arr []uint8) bool

*

  • 判断目标值是否在枚举值数组中
  • @param elem 目标值
  • @param arr uint8数组

func Int64ToStr

func Int64ToStr(v int64) string

func IntToFloat

func IntToFloat(v int) float64

func IntToStr

func IntToStr(v int) string

func IsInPolygon

func IsInPolygon(x, y float64, area [][2]float64) bool

* 目标:精确判断某个点是否在多边形内 * 理论依据:目标点向右延伸,得出和多边形有几个交叉点(临界值判定规则:交叉点两端必须在射线两侧,判断依据:y1<y且y2>=y) * 如果是奇数 => 点在多边形内 * 否则为偶数 => 点在多边形外

func IsInPolygonRough

func IsInPolygonRough(x, y float64, area [][2]float64, deviation float64) bool

*

  • 粗略判断目标点是否在多边形内,判断规则:
  • 1.精确判断目标在多边形内,返回True
  • 2.继续取出距离最近的一条边,计算距离,并根据误差值判断

func IsMobile

func IsMobile(str string) bool

func JsonDecode

func JsonDecode(s []byte, data interface{}) (err error)

JsonDecode unmarshal

func JsonEncode

func JsonEncode(data interface{}) (marshal []byte, err error)

JsonEncode marshall

func JsonIter

func JsonIter() jsoniter.API

func LoadYmlConf added in v1.0.0

func LoadYmlConf(out interface{}, fileName ...string)

LoadYmlConf 读取Yaml配置文件

func RandStr

func RandStr(length int, letter []rune) string

随机生成字符串

func RandomInt

func RandomInt(length int) int

func RandomNumber

func RandomNumber(length int) string

func RandomStr

func RandomStr(length int) string

func ReflectToApiSignData

func ReflectToApiSignData(p interface{}) (res []string)

将传入的变量转换成接口签名校验需要的格式

func ReflectToMap

func ReflectToMap(m interface{}, filter []string) map[string]interface{}

将传入的变量转换成 - map[string]interface{}

func Replace

func Replace(str *string, old string, new string) string

func Round

func Round(f float64) float64

保留两位小数

func Round6

func Round6(f float64) float64

保留六位小数(经纬度)

func SnakeString

func SnakeString(s string) string

func Split

func Split(str *string, sep string) []string

func StrCut

func StrCut(str string, length int) string

func StrCutDirect

func StrCutDirect(str string, length int) string

func StrIndex

func StrIndex(str *string, subStr string) int

func StrLL

func StrLL(str *string, subStr string) string

func StrLR

func StrLR(str *string, subStr string) string

func StrRL

func StrRL(str *string, subStr string) string

func StrRR

func StrRR(str *string, subStr string) string

func StrToFloat

func StrToFloat(v string) (float64, error)

func StrToInt

func StrToInt(v string) (int, error)

func StrToInt64

func StrToInt64(v string) (int64, error)

func StrToUint64

func StrToUint64(v string) (uint64, error)

func StrToUint8

func StrToUint8(v string) (uint8, error)

func StructToMapByRef added in v0.6.0

func StructToMapByRef(obj interface{}) (data map[string]interface{})

func Strval

func Strval(value interface{}) string

Strval convert interface to string

func Substr

func Substr(str *string, start int, length ...int) string

func TimeDPeriod added in v0.9.5

func TimeDPeriod(timestamp int64) (start, end uint32)

func TimeDataToString

func TimeDataToString(t int64) string

func TimeMPeriod

func TimeMPeriod(timestamp int64) (start, end uint32)

TimeMPeriod 月份时间区间

func TimeStringToTime added in v0.9.5

func TimeStringToTime(at string) (time.Time, error)

func TimeToString

func TimeToString(t int64) string

func TimeToY

func TimeToY(timestamp int64) string

func TimeToYm

func TimeToYm(timestamp int64) string

TimeToYm 时间戳转年月

func TimeTom

func TimeTom(timestamp int64) string

func TimeUnix

func TimeUnix() uint32

func TimeYPeriod

func TimeYPeriod(timestamp int64) (start, middle, end uint32)

TimeYPeriod 年区间

func TimeYmdNow

func TimeYmdNow() string

func TimeYmd_Now2

func TimeYmd_Now2() string

func ToJsonString

func ToJsonString(v interface{}) (string, error)

func ToMapByJson added in v0.9.7

func ToMapByJson(obj interface{}) (data map[string]interface{})

ToMapByJson 通过json转为map

func Trim

func Trim(s string) string

func Uint64ToStr

func Uint64ToStr(v uint64) string

func Uint8ToStr

func Uint8ToStr(v uint8) string

func UniqueArrayInt

func UniqueArrayInt(arr []int) []int

*

  • 整型数组去重 - 用于ID数组去重
  • @param arr 字符串数组

func UniqueArrayString

func UniqueArrayString(arr []string) []string

*

  • 字符串数组去重 - 用于ID数组去重
  • @param arr 字符串数组

func UniqueArrayUint64

func UniqueArrayUint64(arr []uint64) []uint64

*

  • 整型数组去重 - 用于ID数组去重 todo:排序错乱
  • @param arr 字符串数组

func UniqueArrayUint8

func UniqueArrayUint8(arr []uint8) []uint8

*

  • 整型数组去重 - 用于ID数组去重
  • @param arr 字符串数组

func UnzipDir added in v0.9.1

func UnzipDir(zipFile, dir string)

func UrlEncode

func UrlEncode(value string) string

func WGS84toBD09

func WGS84toBD09(lng, lat float64) (float64, float64)

WGS84toBD09 WGS84坐标系->百度坐标系

func WGS84toGCJ02

func WGS84toGCJ02(lng, lat float64) (float64, float64)

WGS84toGCJ02 WGS84坐标系->火星坐标系

func ZipDir added in v0.9.1

func ZipDir(dir, zipFile string)

Types

type Option

type Option interface {
	// contains filtered or unexported methods
}

func WithLabelOption

func WithLabelOption(label string) Option

WithLabelOption 字段转换成中文标签

func WithRulesMsgOption

func WithRulesMsgOption(rulesMsg *map[string]RegisterTrans) Option

WithRulesMsgOption 注册自定义错误信息

func WithRulesOption

func WithRulesOption(rules *map[string]validator.Func) Option

WithRulesOption 注册自定义验证方法

type RegisterTrans

type RegisterTrans struct {
	RegisterTranslationsFunc validator.RegisterTranslationsFunc
	TranslationFunc          validator.TranslationFunc
}

type SortAscInt

type SortAscInt []int

=============================== int/正序 ===============================

func (SortAscInt) Len

func (s SortAscInt) Len() int

func (SortAscInt) Less

func (s SortAscInt) Less(i, j int) bool

func (SortAscInt) Swap

func (s SortAscInt) Swap(i, j int)

type SortAscStringInt

type SortAscStringInt struct {
	I string // id
	V int    // value
}

=============================== string_int/正序 ===============================

type SortAscStringIntArr

type SortAscStringIntArr []SortAscStringInt

func (SortAscStringIntArr) Len

func (s SortAscStringIntArr) Len() int

func (SortAscStringIntArr) Less

func (s SortAscStringIntArr) Less(i, j int) bool

func (SortAscStringIntArr) Swap

func (s SortAscStringIntArr) Swap(i, j int)

type SortAscStringString

type SortAscStringString struct {
	I string // id
	V string // value
}

=============================== string_string/正序 ===============================

type SortAscStringStringArr

type SortAscStringStringArr []SortAscStringString

func (SortAscStringStringArr) Len

func (s SortAscStringStringArr) Len() int

func (SortAscStringStringArr) Less

func (s SortAscStringStringArr) Less(i, j int) bool

func (SortAscStringStringArr) Swap

func (s SortAscStringStringArr) Swap(i, j int)

type SortAscUint

type SortAscUint []uint64

=============================== uint64/正序 ===============================

func (SortAscUint) Len

func (s SortAscUint) Len() int

func (SortAscUint) Less

func (s SortAscUint) Less(i, j int) bool

func (SortAscUint) Swap

func (s SortAscUint) Swap(i, j int)

type SortAscUint64Int

type SortAscUint64Int struct {
	I uint32 // id
	V uint32 // value
}

=============================== uint64_int/正序 ===============================

type SortAscUint64Int64

type SortAscUint64Int64 struct {
	I uint64 // id
	V int64  // value
}

=============================== uint64_int64/正序 ===============================

type SortAscUint64Int64Arr

type SortAscUint64Int64Arr []SortAscUint64Int64

func (SortAscUint64Int64Arr) Len

func (s SortAscUint64Int64Arr) Len() int

func (SortAscUint64Int64Arr) Less

func (s SortAscUint64Int64Arr) Less(i, j int) bool

func (SortAscUint64Int64Arr) Swap

func (s SortAscUint64Int64Arr) Swap(i, j int)

type SortAscUint64IntArr

type SortAscUint64IntArr []SortAscUint64Int

func (SortAscUint64IntArr) Len

func (s SortAscUint64IntArr) Len() int

func (SortAscUint64IntArr) Less

func (s SortAscUint64IntArr) Less(i, j int) bool

func (SortAscUint64IntArr) Swap

func (s SortAscUint64IntArr) Swap(i, j int)

type SortAscUint64String

type SortAscUint64String struct {
	I uint64 // id
	V string // value
}

=============================== uint64_string/正序 ===============================

type SortAscUint64StringArr

type SortAscUint64StringArr []SortAscUint64String

func (SortAscUint64StringArr) Len

func (s SortAscUint64StringArr) Len() int

func (SortAscUint64StringArr) Less

func (s SortAscUint64StringArr) Less(i, j int) bool

func (SortAscUint64StringArr) Swap

func (s SortAscUint64StringArr) Swap(i, j int)

type SortDescInt

type SortDescInt []int

=============================== int/倒序 ===============================

func (SortDescInt) Len

func (s SortDescInt) Len() int

func (SortDescInt) Less

func (s SortDescInt) Less(i, j int) bool

func (SortDescInt) Swap

func (s SortDescInt) Swap(i, j int)

type SortDescStringInt

type SortDescStringInt struct {
	I string // id
	V int    // value
}

=============================== string_int/倒序 ===============================

type SortDescStringIntArr

type SortDescStringIntArr []SortDescStringInt

func (SortDescStringIntArr) Len

func (s SortDescStringIntArr) Len() int

func (SortDescStringIntArr) Less

func (s SortDescStringIntArr) Less(i, j int) bool

func (SortDescStringIntArr) Swap

func (s SortDescStringIntArr) Swap(i, j int)

type SortDescStringString

type SortDescStringString struct {
	I string // id
	V string // value
}

=============================== string_string/倒序 ===============================

type SortDescStringStringArr

type SortDescStringStringArr []SortDescStringString

func (SortDescStringStringArr) Len

func (s SortDescStringStringArr) Len() int

func (SortDescStringStringArr) Less

func (s SortDescStringStringArr) Less(i, j int) bool

func (SortDescStringStringArr) Swap

func (s SortDescStringStringArr) Swap(i, j int)

type SortDescUint

type SortDescUint []uint64

=============================== uint64/倒序 ===============================

func (SortDescUint) Len

func (s SortDescUint) Len() int

func (SortDescUint) Less

func (s SortDescUint) Less(i, j int) bool

func (SortDescUint) Swap

func (s SortDescUint) Swap(i, j int)

type SortDescUint64Int

type SortDescUint64Int struct {
	I uint64 // id
	V int    // value
}

=============================== uint64_int/倒序 ===============================

type SortDescUint64IntArr

type SortDescUint64IntArr []SortDescUint64Int

func (SortDescUint64IntArr) Len

func (s SortDescUint64IntArr) Len() int

func (SortDescUint64IntArr) Less

func (s SortDescUint64IntArr) Less(i, j int) bool

func (SortDescUint64IntArr) Swap

func (s SortDescUint64IntArr) Swap(i, j int)

type SortDescUint64String

type SortDescUint64String struct {
	I uint64 // id
	V string // value
}

=============================== uint64_string/倒序 ===============================

type SortDescUint64StringArr

type SortDescUint64StringArr []SortDescUint64String

func (SortDescUint64StringArr) Len

func (s SortDescUint64StringArr) Len() int

func (SortDescUint64StringArr) Less

func (s SortDescUint64StringArr) Less(i, j int) bool

func (SortDescUint64StringArr) Swap

func (s SortDescUint64StringArr) Swap(i, j int)

type Translations

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

func NewTranslationIns

func NewTranslationIns(options ...Option) *Translations

GetTranslationIns 返回参数验证的实列

func (*Translations) SetTrans

func (translations *Translations) SetTrans()

SetTrans 中文翻译

func (*Translations) ValidateParam

func (translations *Translations) ValidateParam(data interface{}) (errRes error)

ValidateParam 校验参数

Directories

Path Synopsis
Package guzzle @Author: asus @Description: $ @File: client @Data: 2022/1/2016:41
Package guzzle @Author: asus @Description: $ @File: client @Data: 2022/1/2016:41

Jump to

Keyboard shortcuts

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