2016-04-26 5 views
0

与えられた唯一のいくつかのデータを読み取ります。コマンドで実行した場合os.Argsは私のプログラム

package main 

import (
    "log" 
    "os" 
) 

func main() { 
    inputs := os.Args[1:] 
    log.Print(inputs) 
} 

go run filename.go 3001-3005 1->A,2->B,3->C,4->D,5->E 

[3001-3005 1-,2-,3-,4-,5-]の代わり[3001-3005 1->A,2->B,3->C,4->D,5->E]

として出力を提供します
+0

現在のディレクトリにA、B、C、D、Eのうちの1つ以上の不思議なファイルがありますか?ほとんどのシステムでは、コマンドラインの ">"は "コンソールではなくこのファイルに出力を送信します" ... –

+0

はい、このファイルを実行すると、名前がEのファイルが作成されています –

答えて

4

コマンドラインの ">"文字は、リダイレクトと解釈されています。「出力はファイルではなくファイルに送信されます。 n "をコンソールに送信します。

問題のコマンドライン引数を引用することで、この問題を解決できるはずです。これをどうやってやるべきかは、あなたがどのOSを使っているのか、あなたがUnix系のOSなどを使っているのか、どのシェルを使っているのか、次のように2番目の引数を二重引用符で囲みてみてください。

go run filename.go 3001-3005 "1->A,2->B,3->C,4->D,5->E" 
関連する問題