我想在我用 Go 编写的命令行界面中输入一个文件路径作为标志。我的最终目标是读取我作为标志输入的路径的那个文件的内容。我尝试了以下代码,但没有用。
app := &cli.App{
Flags: []cli.Flag{
&cli.StringFlag{
Name: "privatekeypath",
Value: "no value",
Aliases: []string{"y"},
Usage: "random",
Destination: &priv_path,
},
&cli.StringFlag{
Name: "privatekey",
Value: "no value",
Aliases: []string{"k"},
Usage: "random",
Destination: &userprivatekey,
FilePath: priv_path,
},
以上代码读取变量priv_path中路径的值和userprivatekey中的实际内容。命令行如下:
randomcli --privatekeypath=/abc/def/privatekey.txt
答案 0 :(得分:1)
看来您正在使用库 github.com/urfave/cli
,如果是这样,您可以通过名称或别名获取值。
c.String("privatekey")
或
c.String("k")