Skip to content

Commit 08e7b3e

Browse files
authored
Merge pull request #98 from devlights/add-all-option
Add -list option
2 parents f4eaa79 + b06856b commit 08e7b3e

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

cmd/trygolang/main.go

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"github.com/devlights/try-golang/lib"
88
"log"
99
"os"
10+
"sort"
1011
"strings"
1112
)
1213

@@ -16,13 +17,36 @@ func init() {
1617
mapping.MakeMapping()
1718
}
1819

20+
func printAllExampleNames() {
21+
names := make([]string, 0, len(mapping))
22+
23+
for k := range mapping {
24+
names = append(names, k)
25+
}
26+
27+
sort.Slice(names, func(i, j int) bool {
28+
return names[i] < names[j]
29+
})
30+
31+
fmt.Println("[Examples]")
32+
for _, v := range names {
33+
fmt.Printf("\t%s\n", v)
34+
}
35+
}
36+
1937
func main() {
2038
var (
21-
onetime = flag.Bool("onetime", false, "run only one time")
39+
onetime = flag.Bool("onetime", false, "run only one time")
40+
showNames = flag.Bool("list", false, "show all example names")
2241
)
2342

2443
flag.Parse()
2544

45+
if *showNames {
46+
printAllExampleNames()
47+
return
48+
}
49+
2650
fmt.Print("ENTER EXAMPLE NAME: ")
2751

2852
stdinScanner := bufio.NewScanner(os.Stdin)

0 commit comments

Comments
 (0)