go入门之像cpp一样输入效果
在hackerrank上面练习的时候,被读到eof难住了,故总结一下;
学习一下fmt和bufio.
读一整行
cpp:
| 1 2 3 4 5 6
 | gets(s); 读到eof for(; gets(s);){      }
 | 
go:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
 | func main() {     scanner := bufio.NewScanner(os.Stdin)          scanner.Scan()     fmt.Println(scanner.Text())          for scanner.Scan() {         fmt.Println(scanner.Text())     } } func main() {     reader := bufio.NewReader(os.Stdin)          a, b, err := reader.ReadLine()     if err == nil {         fmt.Println(string(a), b)     }          for {         a, b, err := reader.ReadLine()         if err != nil {             break         }         fmt.Println(string(a), b)     } }
 | 
自定义读到EOF
cpp:
| 1 2 3
 | for(; ~scanf("xxx");){      }
 | 
go:
| 1 2 3 4 5 6 7 8 9 10
 | func main(){     var a string     var b int     for {         n, err := fmt.Scan(&a, &b)         if err != nil || 2 != n {             break         }         fmt.Println(a, b)     }
 |