diff --git a/.gitignore b/.gitignore index 4794692..f04e8b3 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,4 @@ .vscode *.log goinit.sh -gomod.sh -/vendor/ \ No newline at end of file +gomod.sh \ No newline at end of file diff --git a/vendor/go.dtapp.net/gostring/.drone.yml b/vendor/go.dtapp.net/gostring/.drone.yml new file mode 100644 index 0000000..c56c479 --- /dev/null +++ b/vendor/go.dtapp.net/gostring/.drone.yml @@ -0,0 +1,17 @@ +kind: pipeline +type: docker +name: clone + +steps: + - name: Test + image: golang:1.18 + commands: + - go env -w GO111MODULE=on + - go env -w GOPROXY=https://goproxy.cn,direct + - go test -v ./... + - name: Benchmark + image: golang:1.18 + commands: + - go env -w GO111MODULE=on + - go env -w GOPROXY=https://goproxy.cn,direct + - go test -bench=. -benchmem \ No newline at end of file diff --git a/vendor/go.dtapp.net/gostring/.gitignore b/vendor/go.dtapp.net/gostring/.gitignore new file mode 100644 index 0000000..8f33b64 --- /dev/null +++ b/vendor/go.dtapp.net/gostring/.gitignore @@ -0,0 +1,7 @@ +.env +.git +.svn +.idea +.vscode +*.log +gomod.sh \ No newline at end of file diff --git a/vendor/go.dtapp.net/gostring/LICENSE b/vendor/go.dtapp.net/gostring/LICENSE new file mode 100644 index 0000000..ff84bbf --- /dev/null +++ b/vendor/go.dtapp.net/gostring/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 李光春 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/go.dtapp.net/gostring/README.md b/vendor/go.dtapp.net/gostring/README.md new file mode 100644 index 0000000..fc529be --- /dev/null +++ b/vendor/go.dtapp.net/gostring/README.md @@ -0,0 +1,17 @@ +

+Golang String +

+ +📦 Golang 字符串处理 + +[comment]: <> (go) +[![godoc](https://pkg.go.dev/badge/go.dtapp.net/gostring?status.svg)](https://pkg.go.dev/go.dtapp.net/gostring) +[![goproxy.cn](https://goproxy.cn/stats/go.dtapp.net/gostring/badges/download-count.svg)](https://goproxy.cn/stats/go.dtapp.net/gostring) +[![goreportcard.com](https://goreportcard.com/badge/go.dtapp.net/gostring)](https://goreportcard.com/report/go.dtapp.net/gostring) +[![deps.dev](https://img.shields.io/badge/deps-go-red.svg)](https://deps.dev/go/go.dtapp.net%2Fgostring) + +#### 安装 + +```go +go get -v -u go.dtapp.net/gostring +``` diff --git a/vendor/go.dtapp.net/gostring/gostring.go b/vendor/go.dtapp.net/gostring/gostring.go new file mode 100644 index 0000000..0929b2f --- /dev/null +++ b/vendor/go.dtapp.net/gostring/gostring.go @@ -0,0 +1,152 @@ +package gostring + +import ( + "crypto/hmac" + "crypto/sha256" + "encoding/hex" + "fmt" + "strconv" + "strings" + "unicode/utf8" +) + +// ToString 转换成string +func ToString(value interface{}) string { + if value == nil { + return "" + } + return fmt.Sprint(value) +} + +// ToFloat64 string到float64 +func ToFloat64(s string) float64 { + i, _ := strconv.ParseFloat(s, 64) + return i +} + +// ToInt string到int +func ToInt(s string) int { + i, _ := strconv.Atoi(s) + return i +} + +// ToInt64 string到int64 +func ToInt64(s string) int64 { + i, err := strconv.ParseInt(s, 10, 64) + if err == nil { + return i + } + return int64(ToFloat64(s)) +} + +// ToUint string到uint64 +func ToUint(s string) uint { + i, err := strconv.ParseUint(s, 10, 64) + if err == nil { + return uint(i) + } + return 0 +} + +// ToUint64 string到uint64 +func ToUint64(s string) uint64 { + i, err := strconv.ParseUint(s, 10, 64) + if err == nil { + return i + } + return 0 +} + +// Replace 字符串替换 +func Replace(str, old, new string) string { + return strings.Replace(str, old, new, -1) +} + +func HmacSha256Hex(key, strToSign string) string { + hasHer := hmac.New(sha256.New, []byte(key)) + hasHer.Write([]byte(strToSign)) + return hex.EncodeToString(hasHer.Sum(nil)) +} + +// Space 去除空格 +func Space(str string) string { + return strings.Replace(str, " ", "", -1) +} + +// LineBreak 去除换行符 +func LineBreak(str string) string { + return strings.Replace(str, "\n", "", -1) +} + +// SpaceAndLineBreak 去除空格和去除换行符 +func SpaceAndLineBreak(str string) string { + return LineBreak(Space(str)) +} + +// TrimLastChar 删除字符串中的最后一个 +func TrimLastChar(s string) string { + r, size := utf8.DecodeLastRuneInString(s) + if r == utf8.RuneError && (size == 0 || size == 1) { + size = 0 + } + return s[:len(s)-size] +} + +// Split 字符串分隔 +func Split(s string, sep string) []string { + if len(s) <= 0 { + return []string{} + } + return strings.Split(s, sep) +} + +// Contains 判断字符串是否包含某个字符 +func Contains(s, sep string) bool { + return strings.Contains(s, sep) +} + +func NumericalToString(value interface{}) (string, bool) { + var val string + + switch value.(type) { + default: + return "0", false + case int: + intVal, _ := value.(int) + val = strconv.FormatInt(int64(intVal), 10) + case int8: + intVal, _ := value.(int8) + val = strconv.FormatInt(int64(intVal), 10) + case int16: + intVal, _ := value.(int16) + val = strconv.FormatInt(int64(intVal), 10) + case int32: + intVal, _ := value.(int32) + val = strconv.FormatInt(int64(intVal), 10) + case int64: + intVal, _ := value.(int64) + val = strconv.FormatInt(int64(intVal), 10) + case uint: + intVal, _ := value.(uint) + val = strconv.FormatUint(uint64(intVal), 10) + case uint8: + intVal, _ := value.(uint8) + val = strconv.FormatUint(uint64(intVal), 10) + case uint16: + intVal, _ := value.(uint16) + val = strconv.FormatUint(uint64(intVal), 10) + case uint32: + intVal, _ := value.(uint32) + val = strconv.FormatUint(uint64(intVal), 10) + case uint64: + intVal, _ := value.(uint64) + val = strconv.FormatUint(intVal, 10) + case float32: + floatVal, _ := value.(float32) + val = strconv.FormatFloat(float64(floatVal), 'f', -1, 32) + case float64: + floatVal, _ := value.(float64) + val = strconv.FormatFloat(floatVal, 'f', -1, 64) + } + return val, true +} diff --git a/vendor/go.dtapp.net/gostring/version.go b/vendor/go.dtapp.net/gostring/version.go new file mode 100644 index 0000000..e38a843 --- /dev/null +++ b/vendor/go.dtapp.net/gostring/version.go @@ -0,0 +1,3 @@ +package gostring + +const Version = "1.0.5" diff --git a/vendor/modules.txt b/vendor/modules.txt new file mode 100644 index 0000000..a7865ec --- /dev/null +++ b/vendor/modules.txt @@ -0,0 +1,3 @@ +# go.dtapp.net/gostring v1.0.5 +## explicit; go 1.18 +go.dtapp.net/gostring