当我试图使用如何打印os中没有括号的os.args [1:]?
fmt.Println(os.Args[1:])
我得到了类似结果
[Gates Bill]
如何才能摆脱围绕参数的[]
的打印命令行参数?而Go
似乎吃在参数所有逗号,我怎么能得到像
Last name, First name
Gates, Bill
当我试图使用如何打印os中没有括号的os.args [1:]?
fmt.Println(os.Args[1:])
我得到了类似结果
[Gates Bill]
如何才能摆脱围绕参数的[]
的打印命令行参数?而Go
似乎吃在参数所有逗号,我怎么能得到像
Last name, First name
Gates, Bill
输出你应该使用strings.Join
这一点。尝试,
fmt.Printf("%s, Author of The Art of Computer Programming", strings.Join(os.Args[1:], ", "))
Join
返回与", "
每个参数之间插入的string
。
它输出方括号的原因是因为你正在向打印命令传递一个片段。
你想要做的是采取每个命令,并把它们放入一个字符串,以便根据需要打印。
firstname := os.Args[1]
lastname := os.Args[2]
fmt.Println(lastname + ", " + firstname)
你也应该看看的串包中被Chandru指出。在那里有很多好东西可以帮助处理字符串。
'为K,V:=范围os.Args [1:]'? –
@u_mulder如果我想输出'Knuth,Donald,计算机编程艺术的作者'。'Knuth,Donald'是用户输入,我不知道如何。 – Nick
@Nick对每两个输入进行分离很重要吗?即你的用户是否可以用'./myapp Knuth Donald Gates Bill'调用? –