读取标志参数值ip地址

时间:2015-03-31 19:38:47

标签: go

我正在尝试从参数中读取IP地址:

var ipaddress_string string
flag.StringVar(&ipaddress_string, "ip", "127.0.0.1", "an ip string var")
ipaddress := net.ParseIP(ipaddress_string)
fmt.Println(ipaddress)

执行:
app -ip = 10.0.0.1

app -ip =" 10.0.0.1"

但是127.0.0.1总是会出来吗?

1 个答案:

答案 0 :(得分:2)

根据the docs,您需要在将所有标志绑定到变量之后调用flags.Parse()。以下是一个完整的,可运行的示例:

package main

import (
    "flag"
    "fmt"
    "net"
)

func main() {
    var ipaddress_string string
    flag.StringVar(&ipaddress_string, "ip", "127.0.0.1", "an ip string var")
    flag.Parse()
    ipaddress := net.ParseIP(ipaddress_string)
    fmt.Println(ipaddress)
}