changed playground to make it less error prone and easier to add programs
This commit is contained in:
parent
984bfa9ae1
commit
883e0e2e27
@ -8,56 +8,118 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
type program struct {
|
||||||
|
name string
|
||||||
|
launchFunction func()
|
||||||
|
}
|
||||||
|
|
||||||
|
programs := []program{
|
||||||
|
{
|
||||||
|
name: "Pass or Fail",
|
||||||
|
launchFunction: func() {
|
||||||
|
passFail()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Guessing Game",
|
||||||
|
launchFunction: func() {
|
||||||
|
guess()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Shopping List",
|
||||||
|
launchFunction: func() {
|
||||||
|
shopping()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Commandline Test",
|
||||||
|
launchFunction: func() {
|
||||||
|
terminalTest()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Wall Area",
|
||||||
|
launchFunction: func() {
|
||||||
|
wallArea()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "myIntPointer",
|
||||||
|
launchFunction: func() {
|
||||||
|
myIntPointer()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Double",
|
||||||
|
launchFunction: func() {
|
||||||
|
double()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Convert To Celsius",
|
||||||
|
launchFunction: func() {
|
||||||
|
toCelsius()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Get the Average My Solution",
|
||||||
|
launchFunction: func() {
|
||||||
|
averageMySolution()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Get the Average Head First Solution",
|
||||||
|
launchFunction: func() {
|
||||||
|
averageHeadFirstSolution()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Get the Average Variadic",
|
||||||
|
launchFunction: func() {
|
||||||
|
averageVariadic()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Slices",
|
||||||
|
launchFunction: func() {
|
||||||
|
slices()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Variadic Functions",
|
||||||
|
launchFunction: func() {
|
||||||
|
variadic()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Count Votes",
|
||||||
|
launchFunction: func() {
|
||||||
|
countVotes()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Magazine Subscribers",
|
||||||
|
launchFunction: func() {
|
||||||
|
magazineSubscribers()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
menu := wmenu.NewMenu("Choose a program.")
|
menu := wmenu.NewMenu("Choose a program.")
|
||||||
menu.Action(func(opts []wmenu.Opt) error {
|
menu.Action(func(opts []wmenu.Opt) error {
|
||||||
fmt.Printf("You chose " + opts[0].Text + ". Launching...\n")
|
fmt.Printf("You chose " + opts[0].Text + ". Launching...\n")
|
||||||
switch opts[0].Text {
|
for _, v := range programs {
|
||||||
case "Pass or Fail":
|
if v.name == opts[0].Text {
|
||||||
passFail()
|
v.launchFunction()
|
||||||
case "Guessing Game":
|
}
|
||||||
guess()
|
|
||||||
case "Shopping List":
|
|
||||||
shopping()
|
|
||||||
case "Commandline Test":
|
|
||||||
terminalTest()
|
|
||||||
case "Wall Area":
|
|
||||||
wallArea()
|
|
||||||
case "myIntPointer":
|
|
||||||
myIntPointer()
|
|
||||||
case "Double":
|
|
||||||
double()
|
|
||||||
case "Convert To Celsius":
|
|
||||||
toCelsius()
|
|
||||||
case "Get the Average My Solution":
|
|
||||||
averageMySolution()
|
|
||||||
case "Get the Average Head First Solution":
|
|
||||||
averageHeadFirstSolution()
|
|
||||||
case "Get the Average Variadic":
|
|
||||||
averageVariadic()
|
|
||||||
case "Slices":
|
|
||||||
slices()
|
|
||||||
case "Variadic Functions":
|
|
||||||
variadic()
|
|
||||||
case "Count Votes":
|
|
||||||
countVotes()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
menu.PadOptionID()
|
menu.PadOptionID()
|
||||||
menu.Option("Pass or Fail", nil, false, nil)
|
for _, option := range programs {
|
||||||
menu.Option("Guessing Game", nil, false, nil)
|
menu.Option(option.name, nil, false, nil)
|
||||||
menu.Option("Shopping List", nil, false, nil)
|
}
|
||||||
menu.Option("Commandline Test", nil, false, nil)
|
|
||||||
menu.Option("Wall Area", nil, false, nil)
|
|
||||||
menu.Option("myIntPointer", nil, false, nil)
|
|
||||||
menu.Option("Double", nil, false, nil)
|
|
||||||
menu.Option("Convert To Celsius", nil, false, nil)
|
|
||||||
menu.Option("Get the Average My Solution", nil, false, nil)
|
|
||||||
menu.Option("Get the Average Head First Solution", nil, false, nil)
|
|
||||||
menu.Option("Get the Average Variadic", nil, false, nil)
|
|
||||||
menu.Option("Slices", nil, false, nil)
|
|
||||||
menu.Option("Variadic Functions", nil, false, nil)
|
|
||||||
menu.Option("Count Votes", nil, false, nil)
|
|
||||||
err := menu.Run()
|
err := menu.Run()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
|
Loading…
Reference in New Issue
Block a user