我是 Go 编程语言的新手。我正在编写代码以从 cli 为客户端输入并将值传递给服务器进行处理。客户端和服务器都驻留在本地。代码 :package mainimport ( "flag" "fmt" "strings")func main() { text := gettext() fmt.Println(text) result := strings.Split(text, " ") for i := range result { fmt.Println(result[i]) }}func gettext() []string { flag.Parse() text := flag.Args() if len(text) < 1 { fmt.Println("Please enter radius") } return text}当我从命令行运行时,它给了我以下错误:不能在 strings.Split 的参数中使用文本(类型 []string)作为类型字符串基本上我想从 []string 单独打印值。你能告诉我怎么做吗?我尝试使用strings.split。
2 回答
慕虎7371278
TA贡献1802条经验 获得超4个赞
你并不需要通过分隔值" "
已经分离出的价值观和你的函数gettext返回一个切片的参数。
试试这个例子:
package main
import (
"flag"
"fmt"
)
func main() {
text := gettext()
fmt.Println(text)
for i := range text {
fmt.Println(text[i])
}
}
func gettext() []string {
flag.Parse()
text := flag.Args()
if len(text) < 1 {
fmt.Println("Please enter radius")
}
return text
}
从文档:
func Args() []string
Args 返回非标志命令行参数。
慕姐4208626
TA贡献1852条经验 获得超7个赞
strings.Split() 用于拆分字符串值,而不是字符串数组。您的 gettext() 正在返回一个字符串数组,而不是一个字符串。所以你不需要 string.Split()。只需使用
for _, str := range text {
fmt.Println(str)
}
- 2 回答
- 0 关注
- 200 浏览
添加回答
举报
0/150
提交
取消