2014-09-27 71 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) 
    }