猿问

在 go 中拆分 []string 中的值

我是 Go 编程语言的新手。我正在编写代码以从 cli 为客户端输入并将值传递给服务器进行处理。客户端和服务器都驻留在本地。


代码 :


package main


import (

    "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。


白猪掌柜的
浏览 201回答 2
2回答

慕虎7371278

你并不需要通过分隔值" "已经分离出的价值观和你的函数gettext返回一个切片的参数。试试这个例子:package mainimport (&nbsp; &nbsp; "flag"&nbsp; &nbsp; "fmt")func main() {&nbsp; &nbsp; text := gettext()&nbsp; &nbsp; fmt.Println(text)&nbsp; &nbsp; for i := range text {&nbsp; &nbsp; &nbsp; &nbsp; fmt.Println(text[i])&nbsp; &nbsp; }}func gettext() []string {&nbsp; &nbsp; flag.Parse()&nbsp; &nbsp; text := flag.Args()&nbsp; &nbsp; if len(text) < 1 {&nbsp; &nbsp; &nbsp; &nbsp; fmt.Println("Please enter radius")&nbsp; &nbsp; }&nbsp; &nbsp; return text}从文档:func Args() []stringArgs 返回非标志命令行参数。

慕姐4208626

strings.Split() 用于拆分字符串值,而不是字符串数组。您的 gettext() 正在返回一个字符串数组,而不是一个字符串。所以你不需要 string.Split()。只需使用for _, str := range text {&nbsp; &nbsp; fmt.Println(str)}
随时随地看视频慕课网APP

相关分类

Go
我要回答