1 回答
TA贡献1863条经验 获得超2个赞
这是一个不言自明的工作示例,改动很小:
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)
}
不过,我不认为这是该库的设计方式。
- 1 回答
- 0 关注
- 116 浏览
添加回答
举报