-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.go
More file actions
88 lines (65 loc) · 2.09 KB
/
main.go
File metadata and controls
88 lines (65 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package main
import (
"fmt"
"log"
"github.com/cloudresty/go-env"
)
func main() {
fmt.Println("=== Basic Environment Operations ===")
// 1. Setting environment variables
fmt.Println("1. Setting environment variables:")
err := env.Set("APP_NAME", "My Go Application")
if err != nil {
log.Fatalf("Failed to set APP_NAME: %v", err)
}
err = env.Set("PORT", "8080")
if err != nil {
log.Fatalf("Failed to set PORT: %v", err)
}
err = env.Set("DEBUG", "true")
if err != nil {
log.Fatalf("Failed to set DEBUG: %v", err)
}
fmt.Println(" ✓ Set APP_NAME, PORT, and DEBUG")
// 2. Getting environment variables
fmt.Println("\n2. Getting environment variables:")
appName := env.Get("APP_NAME")
fmt.Printf(" APP_NAME: %s\n", appName)
port := env.Get("PORT")
fmt.Printf(" PORT: %s\n", port)
debug := env.Get("DEBUG")
fmt.Printf(" DEBUG: %s\n", debug)
// 3. Getting with default values
fmt.Println("\n3. Getting with default values:")
dbHost := env.Get("DB_HOST", "localhost")
fmt.Printf(" DB_HOST (with default): %s\n", dbHost)
maxConnections := env.Get("MAX_CONNECTIONS", "100")
fmt.Printf(" MAX_CONNECTIONS (with default): %s\n", maxConnections)
// 4. Checking if variables exist
fmt.Println("\n4. Checking if variables exist:")
if value, exists := env.Lookup("APP_NAME"); exists {
fmt.Printf(" ✓ APP_NAME exists: %s\n", value)
} else {
fmt.Printf(" ✗ APP_NAME does not exist\n")
}
if value, exists := env.Lookup("NON_EXISTENT_VAR"); exists {
fmt.Printf(" ✓ NON_EXISTENT_VAR exists: %s\n", value)
} else {
fmt.Printf(" ✗ NON_EXISTENT_VAR does not exist\n")
}
// 5. Unsetting variables
fmt.Println("\n5. Unsetting variables:")
fmt.Printf(" DEBUG before unset: %s\n", env.Get("DEBUG"))
err = env.Unset("DEBUG")
if err != nil {
log.Printf("Failed to unset DEBUG: %v", err)
} else {
fmt.Println(" ✓ Unset DEBUG variable")
}
debugAfter := env.Get("DEBUG", "not_set")
fmt.Printf(" DEBUG after unset (with default): %s\n", debugAfter)
// Clean up
_ = env.Unset("APP_NAME")
_ = env.Unset("PORT")
fmt.Println("\n=== Basic Operations Complete ===")
}