os.Args只读取在golang中运行文件时给出的一些数据

时间:2016-04-26 10:40:39

标签: go

我的计划:

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]

1 个答案:

答案 0 :(得分:4)

">"命令行中的字符被解释为重定向,意思是"将输出发送到文件而不是控制台"。

您应该能够通过引用相关命令行参数来阻止这种情况发生。你究竟应该如何做到这一点取决于你所使用的操作系统,你在使用类Unix操作系统时使用的shell,等等,但我会尝试在它周围添加双引号第二个论点,像这样:

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