第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何將標(biāo)志作為 urface/cli 命令的參數(shù)傳遞?

如何將標(biāo)志作為 urface/cli 命令的參數(shù)傳遞?

我正在使用urfave/cli在 Go 中構(gòu)建 CLI 應(yīng)用程序。我想要的是在第一個(gè)命令之后給出的選項(xiàng)被視為參數(shù)而不是標(biāo)志(以便我可以自己處理它們或?qū)⑺鼈儌鬟f給其他可執(zhí)行文件)。使用時(shí)app.Action(見(jiàn)下文),這是我得到的行為,但如果我使用,cli.Commands則會(huì)出現(xiàn)錯(cuò)誤。package mainimport (? ? "fmt"? ? "github.com/urfave/cli"? ? "log"? ? "os")func main() {? ? app := cli.NewApp()? ? app.Commands = []cli.Command{? ? ? ? {? ? ? ? ? ? Name:? ? "test",? ? ? ? ? ? Action:? func(c *cli.Context) error {? ? ? ? ? ? ? ? fmt.Println("test", c.Args())? ? ? ? ? ? ? ? return nil? ? ? ? ? ? },? ? ? ? },? ? }? ? app.Action = func(c *cli.Context) error {? ? ? ? fmt.Println(c.Args())? ? ? ? return nil? ? }? ? err := app.Run(os.Args)? ? if err != nil {? ? ? ? log.Fatal(err)? ? }}輸出:go run main.go cmd -f flag:[cmd -f flag]但go run main.go test cmd -f flag退出時(shí)出現(xiàn)錯(cuò)誤,我希望它輸出test [cmd -f flag]
查看完整描述

1 回答

?
喵喔喔

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊

查看cli.Command的文檔后,實(shí)際上有一種非常簡(jiǎn)單的方法可以實(shí)現(xiàn)我想要的:設(shè)置SkipFlagParsing為 true 會(huì)將所有標(biāo)志視為普通參數(shù)。


app.Commands = []cli.Command{

? ? {

? ? ? ? Name:? ? "test",

? ? ? ? SkipFlagParsing: true

? ? ? ? Action:? func(c *cli.Context) error {

? ? ? ? ? ? fmt.Println("test", c.Args())

? ? ? ? ? ? return nil

? ? ? ? },

? ? },

}


查看完整回答
反對(duì) 回復(fù) 2023-06-26
  • 1 回答
  • 0 關(guān)注
  • 141 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)