1.3 输入

本篇学习 Go 的控制台输入方式,并能正确读取与校验用户输入。

字数 400 字

输入

概念说明

Go 可以通过 fmt 包从标准输入读取数据。
常见入门函数是 fmt.Scanfmt.Scanln

语法/规则

  1. 读取变量时必须传入地址,例如 &name&age
  2. fmt.Scan(&a, &b) 按空格分隔读取多个值。
  3. 函数会返回读取数量和错误信息,应优先检查 err

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
package main

import "fmt"

func main() {
	var name string
	var age int

	fmt.Print("请输入姓名和年龄(空格分隔):")
	n, err := fmt.Scan(&name, &age)
	if err != nil {
		fmt.Println("输入有误:", err)
		return
	}

	fmt.Printf("成功读取 %d 项:name=%s, age=%d\n", n, name, age)
}

输出结果:

1
2
请输入姓名和年龄(空格分隔):阿斌 18
成功读取 2 项:name=阿斌, age=18

常见错误

  1. 忘记写 &,例如 fmt.Scan(name),会导致类型不匹配。
  2. 输入类型与变量类型不一致,例如给 int 输入文字,会触发读取错误。
  3. 忽略 err,输入异常时程序行为不明确,不利于排查问题。
使用 Hugo 构建
主题 StackJimmy 设计 由 Hobin 魔改
载入天数...载入时分秒...
发表了 0 篇文章 · 发表了 31 篇笔记 · 总计 1 万 6 千字(其中笔记 16551 字)