包含Go API项目的所有源代码、配置文件、Docker配置、文档和前端资源 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
39 lines
874 B
Go
39 lines
874 B
Go
package common
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strconv"
|
|
)
|
|
|
|
func GetEnvOrDefault(env string, defaultValue int) int {
|
|
if env == "" || os.Getenv(env) == "" {
|
|
return defaultValue
|
|
}
|
|
num, err := strconv.Atoi(os.Getenv(env))
|
|
if err != nil {
|
|
SysError(fmt.Sprintf("failed to parse %s: %s, using default value: %d", env, err.Error(), defaultValue))
|
|
return defaultValue
|
|
}
|
|
return num
|
|
}
|
|
|
|
func GetEnvOrDefaultString(env string, defaultValue string) string {
|
|
if env == "" || os.Getenv(env) == "" {
|
|
return defaultValue
|
|
}
|
|
return os.Getenv(env)
|
|
}
|
|
|
|
func GetEnvOrDefaultBool(env string, defaultValue bool) bool {
|
|
if env == "" || os.Getenv(env) == "" {
|
|
return defaultValue
|
|
}
|
|
b, err := strconv.ParseBool(os.Getenv(env))
|
|
if err != nil {
|
|
SysError(fmt.Sprintf("failed to parse %s: %s, using default value: %t", env, err.Error(), defaultValue))
|
|
return defaultValue
|
|
}
|
|
return b
|
|
}
|