в общем суть вопроса изложена в заголовке
fmt.Scan* читает по словам (
п.с.
РЕШЕНИЕ
Ниже приведен пример с двумя простенькими функциями для чтения строки(с пробелами) в консоли, составленный на основе
ответов:
package main
import ("fmt"; "os"; "bufio")
func Scan1() string {
in := bufio.NewScanner(os.Stdin)
in.Scan()
if err := in.Err(); err != nil {
fmt.Fprintln(os.Stderr, "Ошибка ввода:", err)
}
return in.Text()
}
func Scan2() string {
in := bufio.NewReader(os.Stdin)
str, err := in.ReadString('\n')
if err != nil {
fmt.Println("Ошибка ввода: ", err)
}
return str
}
func main() {
fmt.Println("LINE1 : ", Scan1())
fmt.Println("LINE2 : ", Scan2())
}