當我試圖使用如何打印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'調用? –