Use env to inject parameters just to make it simple

This commit is contained in:
2022-03-14 20:26:43 +11:00
parent 288f4ebed8
commit c0ce2e53fa
+17 -3
View File
@@ -3,16 +3,22 @@ package main
import (
"fmt"
"os"
"strconv"
"github.com/wahyd4/mryum/calculator"
)
const (
filePath = "./testx3.txt"
topNumber = 4
var (
filePath = getEnvWithDefault("INPUT", "./test3.txt")
topNumber = getEnvWithDefault("TOPX", "3")
)
func main() {
topNumber, err := strconv.Atoi(topNumber)
if err != nil {
fmt.Println("TOPX must be a number")
}
topNumbers, err := calculator.CalculateLargestNumbers(filePath, topNumber)
if err != nil {
fmt.Println("Oops: " + err.Error())
@@ -20,3 +26,11 @@ func main() {
}
fmt.Printf("Top %d numbers are: %v", topNumber, topNumbers)
}
func getEnvWithDefault(key, defaultValue string) string {
value := os.Getenv(key)
if value == "" {
return defaultValue
}
return value
}