Skip to content

Commit f34c07c

Browse files
committed
Add yon.go
1 parent 17fcfc2 commit f34c07c

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

yon.go

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package yon
2+
3+
import (
4+
"bufio"
5+
"fmt"
6+
"log"
7+
"os"
8+
"strings"
9+
)
10+
11+
const (
12+
Yes = "YES"
13+
No = "NO"
14+
)
15+
16+
func Prompt(prompt string) string {
17+
reader := bufio.NewReader(os.Stdin)
18+
19+
for {
20+
fmt.Print(prompt + "(yes/no) ")
21+
answer, err := reader.ReadString('\n')
22+
if err != nil {
23+
log.Fatal(err)
24+
}
25+
answer = strings.Trim(answer, "\n")
26+
27+
switch answer {
28+
case "y", "Y", "yes", "Yes", "YES":
29+
return Yes
30+
case "n", "N", "no", "No", "NO":
31+
return No
32+
default:
33+
continue
34+
}
35+
}
36+
}
37+
38+
func Promptln(prompt string) string {
39+
reader := bufio.NewReader(os.Stdin)
40+
41+
for {
42+
fmt.Println(prompt + "(yes/no)")
43+
answer, err := reader.ReadString('\n')
44+
if err != nil {
45+
log.Fatal(err)
46+
}
47+
answer = strings.Trim(answer, "\n")
48+
49+
switch answer {
50+
case "y", "Y", "yes", "Yes", "YES":
51+
return Yes
52+
case "n", "N", "no", "No", "NO":
53+
return No
54+
default:
55+
continue
56+
}
57+
}
58+
}

0 commit comments

Comments
 (0)