golang 中的参数处理
Argument Processing in golang
我将向 运行 我的 go 程序发出以下命令。
go run app.go 3001-3005
这应该做的是,运行 我去休息 api 在服务器端口 3001 到 3005 上。
我的主函数的这一部分处理这个参数。
func main() {
ipfile := os.Args[1:]
s := strings.Split(ipfile, "-")
mux := routes.New()
mux.Put("/:key1/:value1", PutData)
mux.Get("/profile/:key1", GetSingleData)
mux.Get("/profile", GetData)
http.Handle("/", mix)
这里我将运行一个for循环并将第一个参数替换为s[i]。
http.ListenAndServe(":3000", nil)
}
我得到以下输出:
cannot use ipfile (type []string) as type string in argument to strings.Split
os.argsreturn是什么数据类型?
我尝试将其转换为字符串然后拆分。不起作用。
请让我知道哪里出了问题?
如错误所述,ipfile
是 []string
。 [1:]
切片操作将 return 一个切片,即使只有 1 个元素。
检查os.Args
有足够的元素后,使用:
ipfile := os.Args[1]
s := strings.Split(ipfile, "-")
我将向 运行 我的 go 程序发出以下命令。
go run app.go 3001-3005
这应该做的是,运行 我去休息 api 在服务器端口 3001 到 3005 上。
我的主函数的这一部分处理这个参数。
func main() {
ipfile := os.Args[1:]
s := strings.Split(ipfile, "-")
mux := routes.New()
mux.Put("/:key1/:value1", PutData)
mux.Get("/profile/:key1", GetSingleData)
mux.Get("/profile", GetData)
http.Handle("/", mix)
这里我将运行一个for循环并将第一个参数替换为s[i]。
http.ListenAndServe(":3000", nil)
}
我得到以下输出:
cannot use ipfile (type []string) as type string in argument to strings.Split
os.argsreturn是什么数据类型? 我尝试将其转换为字符串然后拆分。不起作用。 请让我知道哪里出了问题?
如错误所述,ipfile
是 []string
。 [1:]
切片操作将 return 一个切片,即使只有 1 个元素。
检查os.Args
有足够的元素后,使用:
ipfile := os.Args[1]
s := strings.Split(ipfile, "-")