我将给出以下命令作为运行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, "-")

08-28 03:59