From 576d73339c9782cc8898c6a22f1ff66837ac0f11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20P=C3=B3=C5=82grabia?= Date: Sun, 16 Jan 2022 17:32:20 +0100 Subject: [PATCH] Handling command line arguments using flag package. --- 2022/01/golang_demo2/Program.go | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/2022/01/golang_demo2/Program.go b/2022/01/golang_demo2/Program.go index 2d25b5e..c47e864 100644 --- a/2022/01/golang_demo2/Program.go +++ b/2022/01/golang_demo2/Program.go @@ -2,11 +2,11 @@ package main import ( "encoding/json" + "flag" "fmt" "github.com/gorilla/mux" "net/http" "os" - "strconv" ) type StandardResponse struct { @@ -96,17 +96,10 @@ func handleDefault(writer http.ResponseWriter, _ *http.Request) { } func main() { - args := os.Args - - var port = 8080 - if len(args) >= 2 { - p, err := strconv.Atoi(args[1]) - if err != nil { - panic(fmt.Errorf("there was a conversion error for port number %v", err)) - return - } - port = p - } + var port int + flag.IntVar(&port, "p", 8080, "Server port") + flag.IntVar(&port, "port", 8080, "Server port") + flag.Parse() fmt.Printf("Starting new server on port %v...", port) r := mux.NewRouter()