Wie man richtig mit Konfiguration in Go arbeitet: ENV, JSON, YAML oder Flags?
Hallo zusammen! Ich bin ein Anfänger in der Go-Entwicklung und schreibe meinen ersten Microservice zur Auftragsverarbeitung. Ich bin auf ein Problem gestoßen: Ich verstehe nicht, wie man die Speicherung von Konfigurationsparametern (Server-Port, Datenbank-Verbindungsstring, externe API-URL, Timeouts usw.) richtig organisiert.
Im Moment habe ich einfach alles in main.go hartcodiert:
```go
package main
import (
"fmt"
"net/http"
)
func main() {
port := ":8080"
dbConn := "postgres://user:pass@localhost:5432/orders?sslmode=disable"
apiURL := "https://api.example.com"
fmt.Println("Starting server on", port)
http.ListenAndServe(port, nil)
}
```
Ich verstehe, dass das schrecklich ist: Bei einem Umgebungswechsel (dev/staging/prod) muss die Binärdatei neu kompiliert werden, und Passwörter im Code sind eine absolute Sicherheitskatastrophe. Ich habe gesehen, dass