ls 4 years ago
parent
commit
2c0092903a
4 changed files with 37 additions and 2 deletions
  1. 1 1
      go.mod
  2. 1 0
      go.sum
  3. 16 0
      util/number.go
  4. 19 1
      util/string.go

+ 1 - 1
go.mod

@@ -4,7 +4,7 @@ go 1.12
 
 require (
 	github.com/go-redis/redis v6.15.6+incompatible
-	github.com/go-sql-driver/mysql v1.4.1
+	github.com/go-sql-driver/mysql v1.5.0
 	github.com/golang/protobuf v1.3.1
 	github.com/jmoiron/sqlx v1.2.0
 	github.com/lib/pq v1.3.0

+ 1 - 0
go.sum

@@ -9,6 +9,7 @@ github.com/go-sql-driver/mysql v1.4.0 h1:7LxgVwFb2hIQtMm87NdgAVfXjnt4OePseqT1tKx
 github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
 github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA=
 github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
+github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
 github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
 github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/jmoiron/sqlx v1.2.0 h1:41Ip0zITnmWNR/vHV+S4m+VoUivnWY5E4OJfLZjCJMA=

+ 16 - 0
util/number.go

@@ -0,0 +1,16 @@
+package util
+
+import (
+	"unicode"
+)
+
+// IsDigit 字符串是否数字
+func IsDigit(s string) bool {
+	rs := []rune(s)
+	for _, r := range rs {
+		if !unicode.IsDigit(r) {
+			return false
+		}
+	}
+	return true
+}

+ 19 - 1
util/string.go

@@ -1,6 +1,10 @@
 package util
 
-import "unicode/utf8"
+import (
+	"math/rand"
+	"time"
+	"unicode/utf8"
+)
 
 // StrLen utf8 string length
 func StrLen(s string) int {
@@ -33,3 +37,17 @@ func StrRange(s string, min, max int) bool {
 	}
 	return false
 }
+
+// Random 指定长度的随机字符串(字母或数字)
+func Random(n int) string {
+	str := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+	bytes := []byte(str)
+	result := []byte{}
+
+	r := rand.New(rand.NewSource(time.Now().UnixNano()))
+	n1 := len(bytes)
+	for i := 0; i < n; i++ {
+		result = append(result, bytes[r.Intn(n1)])
+	}
+	return string(result)
+}