58 Star 193 Fork 74

hidu/mysql-schema-sync

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
util.go 1.90 KB
一键复制 编辑 原始数据 按行查看 历史
hidu 提交于 2015-11-08 15:56 +08:00 . v0.3 add foreign support
package internal
import (
"bytes"
"encoding/json"
"fmt"
"html"
"io/ioutil"
"log"
"reflect"
"regexp"
"strings"
)
// Version version
const Version = "0.3"
// AppURL site
const AppURL = "https://github.com/hidu/mysql-schema-sync/"
const timeFormatStd string = "2006-01-02 15:04:05"
// loadJsonFile load json
func loadJSONFile(jsonPath string, val interface{}) error {
bs, err := ioutil.ReadFile(jsonPath)
if err != nil {
return err
}
lines := strings.Split(string(bs), "\n")
var bf bytes.Buffer
for _, line := range lines {
lineNew := strings.TrimSpace(line)
if (len(lineNew) > 0 && lineNew[0] == '#') || (len(lineNew) > 1 && lineNew[0:2] == "//") {
continue
}
bf.WriteString(lineNew)
}
return json.Unmarshal(bf.Bytes(), &val)
}
func inStringSlice(str string, strSli []string) bool {
for _, v := range strSli {
if str == v {
return true
}
}
return false
}
func simpleMatch(patternStr string, str string, msg ...string) bool {
str = strings.TrimSpace(str)
patternStr = strings.TrimSpace(patternStr)
if patternStr == str {
log.Println("simple_match:suc,equal", msg, "patternStr:", patternStr, "str:", str)
return true
}
pattern := "^" + strings.Replace(patternStr, "*", `.*`, -1) + "$"
match, err := regexp.MatchString(pattern, str)
if err != nil {
log.Println("simple_match:error", msg, "patternStr:", patternStr, "pattern:", pattern, "str:", str, "err:", err)
}
if match {
//log.Println("simple_match:suc", msg, "patternStr:", patternStr, "pattern:", pattern, "str:", str)
}
return match
}
func htmlPre(str string) string {
return "<pre>" + html.EscapeString(str) + "</pre>"
}
func dsnSort(dsn string) string {
i := strings.Index(dsn, "@")
if i < 1 {
return dsn
}
return dsn[i+1:]
}
func maxMapKeyLen(data interface{}, ext int) string {
l := 0
for _, k := range reflect.ValueOf(data).MapKeys() {
if k.Len() > l {
l = k.Len()
}
}
return fmt.Sprintf("%d", l+ext)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/hidu/mysql-schema-sync.git
git@gitee.com:hidu/mysql-schema-sync.git
hidu
mysql-schema-sync
mysql-schema-sync
21680d8e8e24

搜索帮助