2016-01-11 97 views
-1

當我試圖使用如何打印os中沒有括號的os.args [1:]?

fmt.Println(os.Args[1:]) 

我得到了類似結果

[Gates Bill] 

如何才能擺脫圍繞參數的[]的打印命令行參數?而Go似乎吃在參數所有逗號,我怎麼能得到像

Last name, First name 
Gates, Bill 
+1

'爲K,V:=範圍os.Args [1:]'? –

+0

@u_mulder如果我想輸出'Knuth,Donald,計算機編程藝術的作者'。'Knuth,Donald'是用戶輸入,我不知道如何。 – Nick

+0

@Nick對每兩個輸入進行分離很重要嗎?即你的用戶是否可以用'./myapp Knuth Donald Gates Bill'調用? –

回答

7

輸出你應該使用strings.Join這一點。嘗試,

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

Join返回與", "每個參數之間插入的string

1

它輸出方括號的原因是因爲你正在向打印命令傳遞一個片段。

你想要做的是採取每個命令,並把它們放入一個字符串,以便根據需要打印。

firstname := os.Args[1] 
lastname := os.Args[2] 
fmt.Println(lastname + ", " + firstname) 

你也應該看看的包中被Chandru指出。在那裏有很多好東西可以幫助處理字符串。

參見:https://golang.org/pkg/strings/