我将给出以下命令作为运行go程序的命令。
这应该做的是,在服务器端口3001至3005上运行我的go Rest 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返回什么数据类型?
我尝试将其转换为字符串,然后拆分。不起作用。
请让我知道怎么了?
最佳答案
就像错误说的一样,ipfile
是[]string
。即使只有1个元素,[1:]
slice操作也将返回一个slice。
在检查os.Args
具有足够的元素之后,使用:
ipfile := os.Args[1]
s := strings.Split(ipfile, "-")