gcmd.Scanf supports read line that contains whitespace
@@ -17,18 +17,20 @@ import (
// Scan prints <info> to stdout, reads and returns user input, which stops by '\n'.
func Scan(info ...interface{}) string {
- var s string
fmt.Print(info...)
- reader := bufio.NewReader(os.Stdin)
- s, _ = reader.ReadString('\n')
- s = gstr.Trim(s)
- return s
+ return readline()
}
// Scanf prints <info> to stdout with <format>, reads and returns user input, which stops by '\n'.
func Scanf(format string, info ...interface{}) string {
- var s string
fmt.Printf(format, info...)
- fmt.Scanln(&s)
+ return readline()
+}
+
+func readline() string {
+ var s string
+ reader := bufio.NewReader(os.Stdin)
+ s, _ = reader.ReadString('\n')
+ s = gstr.Trim(s)
return s
}
