package main import ( "fmt" "bufio" "os" "strings" "strconv" "runtime" ) func isSure(quest string) bool { fmt.Printf("%s (type 'y/Y/yes' to confirm) : ",quest) in := bufio.NewReader(os.Stdin) line, err := in.ReadString('\n') if(runtime.GOOS == "windows"){ line = strings.TrimSuffix(line, "\r\n") //for Windows }else{ line = strings.TrimSuffix(line, "\n") } checkErr(err) if ( line == "yes" || line == "y" || line == "Y") { return true } else { return false } } func checkErr(err error) { if err != nil { panic(err) } } func getInput(quest string) string { fmt.Print(quest) in := bufio.NewReader(os.Stdin) line, err := in.ReadString('\n') if(runtime.GOOS == "windows"){ line = strings.TrimSuffix(line, "\r\n") //for Windows }else{ line = strings.TrimSuffix(line, "\n") } checkErr(err) return line } func getNewInput(quest,old string) string { if old != "" { fmt.Println("Current:",old) } fmt.Print(quest) in := bufio.NewReader(os.Stdin) line, err := in.ReadString('\n') if(runtime.GOOS == "windows"){ line = strings.TrimSuffix(line, "\r\n") //for Windows }else{ line = strings.TrimSuffix(line, "\n") } checkErr(err) if line == "" { return old }else{ return line } } func stringArray2String(in []string, delim string) (string) { var out string for i,a := range in { if i==0 { out=a }else{ out=fmt.Sprintf("%s%s%s",out,delim,a) } } return out } func string2FloatArray(in string,delim string)(out []float64) { read := strings.Split(in,delim) for _,s := range read{ fs,err := strconv.ParseFloat(s,64) checkErr(err) out = append(out,fs) } return } func string2StringArray(in string,delim string)(out []string) { read := strings.Split(in,delim) for _,s := range read{ out = append(out,s) } return }