如何在os.Args中保留引号

时间:2018-12-22 13:34:09

标签: string go quotes

我正在尝试打印传递给程序的命令行参数,但是引号(“)消失了。

例如:

package main

import (
    "fmt"
    "os"
    "strings"
)

func main() {
    fmt.Println(strings.join(os.Args[1:], " "))
}

然后使用go run test.go "status"运行-应该会打印"status",但是正在打印status

1 个答案:

答案 0 :(得分:3)

这严格取决于执行程序的外壳,而不是Go本身。例如,如果使用bash,请尝试在转义双引号的同时执行程序。像这样

go run test.go '"status"'
# OR
go run test.go \"status\"