From 0ff73b5f57d40fcae373baa16f015b28067e52f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AE=B7=E5=8B=87?= Date: Mon, 28 Aug 2023 14:58:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9flag=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E5=8F=82=E6=95=B0=20"-n=201=20-i=201"=20to=20"-n1=20-i1"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.go | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/app.go b/app.go index d2cbbea..696cc63 100644 --- a/app.go +++ b/app.go @@ -1,9 +1,10 @@ package f5 import ( - "flag" + "fmt" "os" "q5" + "strings" "sync" "sync/atomic" "time" @@ -75,10 +76,7 @@ func (this *app) init(userApp UserApp) { _httpCliMgr = new(HttpCliMgr) _httpCliMgr.init() { - var tmpNodeId, tmpInstanceId int - flag.IntVar(&tmpNodeId, "n", 0, "node id") - flag.IntVar(&tmpInstanceId, "i", 0, "instance id") - flag.Parse() + tmpNodeId, tmpInstanceId := parseArgs() this.nodeId = int32(tmpNodeId) this.instanceId = int32(tmpInstanceId) } @@ -256,3 +254,31 @@ func (this *app) installTimer() { } }) } + +func parseArgs() (int, int) { + args := os.Args[1:] + if len(args) <= 0 { + return 0, 0 + } + var nodeId, instanceId int + for i := 0; i < len(args); i++ { + arg := args[i] + if strings.HasPrefix(arg, "-n") { + if len(arg) > 2 { + fmt.Sscanf(arg[2:], "%d", &nodeId) + } else if i+1 < len(args) { + fmt.Sscanf(args[i+1], "%d", &nodeId) + i++ + } + } else if strings.HasPrefix(arg, "-i") { + if len(arg) > 2 { + fmt.Sscanf(arg[2:], "%d", &instanceId) + } else if i+1 < len(args) { + fmt.Sscanf(args[i+1], "%d", &instanceId) + i++ + } + } + } + + return nodeId, instanceId +}