У меня есть функция для чтения одного float64 из стандартного ввода:
func readFloat() float64 {
scanner := bufio.NewScanner(os.Stdin)
for {
scanner.Scan()
in := scanner.Text()
n, err := strconv.ParseFloat(in, 64)
if err == nil {
return n
} else {
fmt.Println("ERROR:", err)
fmt.Print("\nPlease enter a valid number: ")
}
}
}
Я хотел бы изменить это, чтобы прочитать два числа с плавающей запятой, например,
func main() {
fmt.Print("\nEnter x, y coordinates for point1: ")
x1, y1 := readFloat()
Проблема, с которой я сталкиваюсь, разделяется scanner.Text()
. Есть функция scanner.Split()
, но она не может понять, как ее использовать.
Любые возможные решения будут полезны.