如何在Go中不使用大括号打印os.args[1:]?

如何在Go中不使用大括号打印os.args[1:]?,go,Go,当我尝试使用打印命令行参数时 fmt.Println(os.Args[1:]) 我得到的结果是 [Gates Bill] 我如何摆脱围绕参数的[]?而且Go似乎吃掉了参数中的所有逗号,我如何才能得到这样的输出 Last name, First name Gates, Bill 你应该用这个。试试看 fmt.Printf("%s, Author of The Art of Computer Programming", strings.Join(os.Args[1:], ", "))

当我尝试使用打印命令行参数时

    fmt.Println(os.Args[1:])
我得到的结果是

[Gates Bill]
我如何摆脱围绕参数的
[]
?而且
Go
似乎吃掉了参数中的所有逗号,我如何才能得到这样的输出

Last name, First name
Gates, Bill
你应该用这个。试试看

fmt.Printf("%s, Author of The Art of Computer Programming", strings.Join(os.Args[1:], ", "))

Join
返回一个
字符串,在每个参数之间插入
“,”

它输出括号的原因是您将一个片段传递到print命令

您要做的是获取每个命令,并将它们放入字符串中,以便根据需要进行打印

firstname := os.Args[1]
lastname := os.Args[2]
fmt.Println(lastname + ", " + firstname)
您还应该看看Chandru指出的字符串包。那里有一堆好东西可以帮助处理字符串


请参阅:

了解k,v:=range os.Args[1:][/code>?@u_mulder如果我想输出
Knuth,Donald,计算机编程艺术的作者。
虽然
Knuth,Donald
是用户输入,但我不知道如何将每两个输入分开。@Nick重要吗?i、 e.您的用户是否可能使用
/myapp Knuth Donald Gates Bill