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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go Lang - 如何在 Go 中構(gòu)建命令行菜單

Go Lang - 如何在 Go 中構(gòu)建命令行菜單

Go
慕尼黑的夜晚無繁華 2022-10-17 09:52:35
我正在構(gòu)建一個 CLI 應(yīng)用程序,它在基于 CLI 的菜單上與人類交互。例如 示例菜單圖片我使用以下包 https://github.com/dixonwille/wmenu編寫了代碼。它按預(yù)期工作,但我不知道如何檢索所選菜單項的索引并將其返回給 main() 函數(shù)。我非常感謝任何提示或有用的鏈接。謝謝小姐import (    "fmt"    "log"    "os"    "github.com/dixonwille/wmenu")func createMenu(p string, m []string) {    optFunc := func(option wmenu.Opt) error {        fmt.Println("")        fmt.Println("Option chosen: ", option.ID, option.Text)        return nil    }    menu := wmenu.NewMenu(p)    menu.ChangeReaderWriter(os.Stdin, os.Stdout, os.Stderr)    for i, m := range m {        menu.Option(m, i, false, optFunc)    }    err := menu.Run()    if err != nil {        log.Fatal(err)    }    // return i or option.ID    // index of a menu item}func main() {    prompt := "Select a Fruit"    menuitems := []string{"Apple", "Orange", "Mango"}    createMenu(prompt, menuitems)    // index := createMenu(prompt, menuitems)    // fmt.Println("Fruit Selected ",menuitems[index])}
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻1863條經(jīng)驗 獲得超2個贊

這是一個不言自明的工作示例,改動很?。?/p>


package main


import (

    "fmt"

    "log"

    "os"


    "github.com/dixonwille/wmenu"

)


type userInput struct {

    option wmenu.Opt

}


func (u *userInput) optFunc(option wmenu.Opt) error {

    u.option = option

    return nil

}


func createMenu(p string, m []string, u *userInput) {

    menu := wmenu.NewMenu(p)

    menu.ChangeReaderWriter(os.Stdin, os.Stdout, os.Stderr)

    for i, m := range m {

        menu.Option(m, i, false, u.optFunc)


    }

    err := menu.Run()

    if err != nil {

        log.Fatal(err)

    }

}


func main() {

    prompt := "Select a Fruit"

    menuitems := []string{"Apple", "Orange", "Mango"}

    u := &userInput{}

    createMenu(prompt, menuitems, u)

    fmt.Println("")

    fmt.Println("Option chosen: ", u.option.ID, u.option.Text)

}

不過,我不認為這是該庫的設(shè)計方式。


查看完整回答
反對 回復(fù) 2022-10-17
  • 1 回答
  • 0 關(guān)注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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