2014-09-27 108 views
2

我试图扫描使用标准“FMT”包扫描空间中去

从标准输入一些命令但是似乎scanf的第一空间后停止。任何想法如何解决它?

var in string 
    for err != nil { 
     _, err = fmt.Scanf("%s", &in) 
    } 
    fmt.Println(in) 

回答

4

我发现,我需要的是在bufio.Scan

scanner := bufio.NewScanner(os.Stdin) 
    for scanner.Scan() { 
     return scanner.Text() 
    } 
    if err := scanner.Err(); err != nil { 
     fmt.Fprintln(os.Stderr, "reading standard input:", err) 
    }