48 lines
816 B
Go
48 lines
816 B
Go
package utils
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/json"
|
|
"fmt"
|
|
"os"
|
|
"strconv"
|
|
"strings"
|
|
)
|
|
|
|
func If(condition bool, trueValue, falseValue interface{}) interface{} {
|
|
if condition {
|
|
return trueValue
|
|
}
|
|
return falseValue
|
|
}
|
|
|
|
// 如果首字母是小写字母, 则变换为大写字母
|
|
func FirstToUpper(str string) string {
|
|
if str == "" {
|
|
return ""
|
|
}
|
|
|
|
return strings.ToUpper(str[:1]) + strings.ToLower(str[1:])
|
|
}
|
|
|
|
func ParseParams(in map[string]string) map[string]interface{} {
|
|
out := make(map[string]interface{})
|
|
for k, v := range in {
|
|
fv, err := strconv.ParseFloat(v, 64)
|
|
if err != nil {
|
|
out[k] = fv
|
|
} else {
|
|
out[k] = v
|
|
}
|
|
}
|
|
return out
|
|
}
|
|
|
|
func PrintJson(v any) {
|
|
jsonBy, _ := json.Marshal(v)
|
|
var out bytes.Buffer
|
|
json.Indent(&out, jsonBy, "", "\t")
|
|
out.WriteTo(os.Stdout)
|
|
fmt.Printf("\n")
|
|
}
|