代码拉取完成,页面将自动刷新
/*
* Copyright (c) 2000-2018, 达梦数据库有限公司.
* All rights reserved.
*/
package util
import (
"go/build"
"os"
"runtime"
"strings"
)
const (
PathSeparator = string(os.PathSeparator)
PathListSeparator = string(os.PathListSeparator)
)
var (
goRoot = build.Default.GOROOT
goPath = build.Default.GOPATH //获取实际编译时的GOPATH值
)
type fileUtil struct {
}
var FileUtil = &fileUtil{}
func (fileUtil *fileUtil) Exists(path string) bool {
if _, err := os.Stat(path); !os.IsNotExist(err) {
return true
}
return false
}
func (fileUtil *fileUtil) Search(relativePath string) (path string) {
if strings.Contains(runtime.GOOS, "windows") {
relativePath = strings.ReplaceAll(relativePath, "/", "\\")
}
if fileUtil.Exists(goPath) {
for _, s := range strings.Split(goPath, PathListSeparator) {
path = s + PathSeparator + "src" + PathSeparator + relativePath
if fileUtil.Exists(path) {
return path
}
}
}
if fileUtil.Exists(goPath) {
for _, s := range strings.Split(goPath, PathListSeparator) {
path = s + PathSeparator + "pkg" + PathSeparator + relativePath
if fileUtil.Exists(path) {
return path
}
}
}
//if workDir, _ := os.Getwd(); fileUtil.Exists(workDir) {
// path = workDir + PathSeparator + "src" + PathSeparator + relativePath
// if fileUtil.Exists(path) {
// return path
// }
//}
//if fileUtil.Exists(goRoot) {
// path = goRoot + PathSeparator + "src" + PathSeparator + relativePath
// if fileUtil.Exists(path) {
// return path
// }
//}
return ""
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。