我正在尝试从参数中读取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总是会出来吗?
答案 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)
}