mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 02:16:48 +08:00
Update 12.1.md
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
我们如何读取用户的键盘(控制台)输入呢?从键盘和标准输入 `os.Stdin` 读取输入,最简单的办法是使用 `fmt` 包提供的 Scan 和 Sscan 开头的函数。请看以下程序:
|
||||
|
||||
**Listing 12.1—readinput1.go:**
|
||||
示例 12.1 [readinput1.go](examples/chapter_12/readinput1.go):
|
||||
|
||||
```go
|
||||
// 从控制台读取输入:
|
||||
@@ -32,7 +32,7 @@ func main() {
|
||||
|
||||
您也可以使用 `bufio` 包提供的缓冲读取(buffered reader)来读取数据,正如以下例子所示:
|
||||
|
||||
**Listing 12.2—readinput2.go:**
|
||||
示例 12.2 [readinput2.go](examples/chapter_12/readinput2.go):
|
||||
|
||||
```go
|
||||
package main
|
||||
@@ -80,7 +80,7 @@ input, err := inputReader.ReadString('\n')
|
||||
|
||||
第二个例子从键盘读取输入,使用了 `switch` 语句:
|
||||
|
||||
**Listing 12.3—switch_input.go:**
|
||||
示例 12.3 [switch_input.go](examples/chapter_12/switch_input.go):
|
||||
```go
|
||||
package main
|
||||
import (
|
||||
@@ -128,13 +128,13 @@ func main() {
|
||||
|
||||
**练习**
|
||||
|
||||
**练习 12.1:** word_letter_count.go
|
||||
**练习 12.1:** [word_letter_count.go](exercises/chapter_12/word_letter_count.go)
|
||||
编写一个程序,从键盘读取输入。当用户输入 'S' 的时候表示输入结束,这时程序输出 3 个数字:
|
||||
i) 输入的字符的个数,包括空格,但不包括 '\r' 和 '\n'
|
||||
ii) 输入的单词的个数
|
||||
iii) 输入的行数
|
||||
|
||||
**练习 12.2:** calculator.go
|
||||
**练习 12.2:** [calculator.go](exercises/chapter_12/calculator.go)
|
||||
编写一个简单的逆波兰式计算器,它接受用户输入的整型数(最大值 999999)和运算符 +、-、*、/。
|
||||
输入的格式为:number1 ENTER number2 ENTER operator ENTER --> 显示结果
|
||||
当用户输入字符 'q' 时,程序结束。请使用您在练习11.3中开发的 `stack` 包。
|
||||
|
Reference in New Issue
Block a user