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è)計方式。
- 1 回答
- 0 關(guān)注
- 153 瀏覽
添加回答
舉報