Я новое программирование с Go.Я писал эту маленькую программу, которая использует структуры.Это структура с именем user, которая имеет значения, имя, фамилию и возраст.Проблема заключается в том, что при вводе данных, а точнее, при вводе фамилии, возникает такая ошибка: снимок экрана с ошибкой
Из изображения видно, что при вводе данныхв поле имени игнорирует поле фамилии и переходит на возраст.
Имея знания в C, эта ошибка возникает, когда буфер не был очищен.(но C отличается от языка Go)
Как я знаю, Go stdin read не буферизован.Итак, как бы вы решили эту проблему?
Вот код:
package main
import "fmt"
type user struct {
name, surnm string
age int
}
func main() {
n := new(user)
fmt.Print("Name? ")
fmt.Scanf("%s", &n.name)
fmt.Print("Last name? ")
fmt.Scanf("%s", &n.surnm)
fmt.Print("Age? ")
fmt.Scanf("%d", &n.age)
fmt.Println(n.name)
fmt.Println(n.surnm)
fmt.Println(n.age)
}
Извините, если мой вопрос немного глуп, но, как я сказал, я новичок в Go.