mirror of
https://github.com/snowykami/neo-blog.git
synced 2025-09-03 15:56:22 +00:00
⚡ initialize project structure with main, routing, and environment utilities
This commit is contained in:
46
pkg/utils/env.go
Normal file
46
pkg/utils/env.go
Normal file
@ -0,0 +1,46 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"github.com/joho/godotenv"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func init() {
|
||||
_ = godotenv.Load()
|
||||
}
|
||||
|
||||
func Getenv(key string, defaultValue ...string) string {
|
||||
value := os.Getenv(key)
|
||||
if value == "" && len(defaultValue) > 0 {
|
||||
return defaultValue[0]
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
||||
func GetenvAsInt(key string, defaultValue ...int) int {
|
||||
value := os.Getenv(key)
|
||||
if value == "" && len(defaultValue) > 0 {
|
||||
return defaultValue[0]
|
||||
}
|
||||
intValue, err := strconv.Atoi(value)
|
||||
if err != nil && len(defaultValue) > 0 {
|
||||
return defaultValue[0]
|
||||
}
|
||||
return intValue
|
||||
}
|
||||
|
||||
func GetenvAsBool(key string, defaultValue ...bool) bool {
|
||||
value := os.Getenv(key)
|
||||
if value == "" && len(defaultValue) > 0 {
|
||||
return defaultValue[0]
|
||||
}
|
||||
boolValue, err := strconv.ParseBool(value)
|
||||
if err != nil {
|
||||
if len(defaultValue) > 0 {
|
||||
return defaultValue[0]
|
||||
}
|
||||
return false
|
||||
}
|
||||
return boolValue
|
||||
}
|
Reference in New Issue
Block a user