如何在 if 语句中使用命令行参数?

Yos*_*shi 5 command-line for-loop if-statement go

我是编程新手,golang 是我的第一语言,我在弄清楚如何从命令行访问变量时遇到了一些问题。我试图获取用户在命令行中输入的标志,并在 if 语句中使用这些变量。我希望 for 循环遍历用户输入的所有参数,然后在 if 语句中比较每个参数,看看是否有与特定标志匹配的参数。所有 println 语句均用于测试目的。我该如何正确编写这个 for 循环/if 语句?

var Args []string

for i := range os.Args {
    fmt.Println("array item", i, "is", os.Args[i])

    if i := os.Args("-target") {
        fmt.Println("GREAT SUCCESS")
        targetHostNew := targetHost
    }
}

fmt.Println("-------------------------", targetHostNew)
Run Code Online (Sandbox Code Playgroud)

我也应该澄清一下。程序需要能够读取标志参数输入,但不能更改这些参数变量

fab*_*ioM 2

您可以使用flaghttp://golang.org/pkg/flag/

package main

import (
    "flag"
    "fmt"
)

var ip = flag.String("target", "localhost:3000", "help message for target")

func main() {
    flag.Parse()
    fmt.Println(*ip)
}
Run Code Online (Sandbox Code Playgroud)