2 Star 3 Fork 0

YashanDB Community/yasrpc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
util.go 1.34 KB
一键复制 编辑 原始数据 按行查看 历史
zhouyuxin 提交于 2023-06-21 16:51 +08:00 . feat: update web
package yasrpc
import (
"os"
"path"
"path/filepath"
"reflect"
"runtime"
"strings"
"unicode"
)
const YasrpcBase = "YASRPC_BASE"
func GetYasrpcBase() (string, error) {
pathName, err := os.Executable()
if err != nil {
return "", err
}
return filepath.Dir(filepath.Dir(pathName)), nil
}
func GetYasrpcBaseEnv() string {
return os.Getenv(YasrpcBase)
}
func ToJoinPath(base, s string) string {
if strings.HasPrefix(s, "/") {
return s
}
return filepath.Join(base, s)
}
type H map[string]any
func mustGuard(guard bool, text string) {
if !guard {
panic(text)
}
}
func filterFlags(content string) string {
for i, char := range content {
if char == ' ' || char == ';' {
return content[:i]
}
}
return content
}
func nameOfFunction(f any) string {
return runtime.FuncForPC(reflect.ValueOf(f).Pointer()).Name()
}
func joinPaths(absolutePath, relativePath string) string {
if relativePath == "" {
return absolutePath
}
finalPath := path.Join(absolutePath, relativePath)
if lastChar(relativePath) == '/' && lastChar(finalPath) != '/' {
return finalPath + "/"
}
return finalPath
}
func lastChar(str string) uint8 {
if str == "" {
panic("The length of the string can't be 0")
}
return str[len(str)-1]
}
func isASCII(s string) bool {
for i := 0; i < len(s); i++ {
if s[i] > unicode.MaxASCII {
return false
}
}
return true
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/yashan_tech/yasrpc.git
git@gitee.com:yashan_tech/yasrpc.git
yashan_tech
yasrpc
yasrpc
master

搜索帮助