我将提供以下命令来运行我的go程序。
去运行app.go 3001-3005
这应该做的是,在服务器端口3001到3005上运行我的休息api。
我的主要功能的这部分处理这个论点。
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.args返回什么数据类型? 我尝试将其转换为字符串然后拆分。不行。 请让我知道出了什么问题?
答案 0 :(得分:3)
如错误所示,ipfile
是[]string
。 [1:]
切片操作将返回切片,即使只有1个元素。
检查os.Args
是否包含足够的元素后,请使用:
ipfile := os.Args[1]
s := strings.Split(ipfile, "-")