Go语言实战案例-读取用户输入并打印

📚 案例目标

掌握使用 fmt 包读取终端输入内容,并将其打印输出。适合初学者熟悉基本的 I/O 操作。


🛠 案例说明

我们将编写一个小程序,提示用户输入自己的姓名,然后打印一条欢迎信息,如:

复制代码
请输入你的名字:Alice
你好,Alice!欢迎学习Go语言!

🔑 涉及知识点

  • • fmt.Scanln() 用于读取控制台输入
  • • fmt.Print() 和 fmt.Println() 用于输出信息
  • • 基本的字符串拼接与变量使用

✅ 示例代码

go 复制代码
package main

import (
    "fmt"
)

func main() {
    var name string

    fmt.Print("请输入你的名字:")
    fmt.Scanln(&name)

    fmt.Println("你好," + name + "!欢迎学习Go语言!")
}

📎 代码解析

行号 说明
1-3 导入 fmt 包用于输入输出
5 定义变量 name 用于存储输入的名字
7 使用 fmt.Print() 打印提示信息,不自动换行
8 使用 fmt.Scanln(&name) 从标准输入读取用户输入,赋值给 name
10 使用 fmt.Println() 打印欢迎语句,并拼接变量

📌 补充说明

  • • fmt.Scanln() 会读取用户输入的第一行文本,空格之后的内容不会保存。适合简单的单词/名称输入。
  • • 如果你需要读取一整句内容(包括空格),可以使用 bufio.Reader 和 os.Stdin(将在后续案例讲解)。

💡 练习扩展

  • • 修改程序,使其还能读取用户的年龄,并打印"你好,Alice,今年你25岁"。
  • • 使用 fmt.Printf() 改写输出语句,使其更加格式化。

🧪 示例运行

复制代码
请输入你的名字:Tom
你好,Tom!欢迎学习Go语言!

相关推荐
zhoujungis31 分钟前
登录态 1 小时就掉?Django + Vue 双 Token 认证实战 | 尘世栈帧
后端
武子康1 小时前
同一台 ESP32,GSM 能消回声,VoIP 为什么不行?
人工智能·后端·agent
用户69371750013841 小时前
AI 能写代码,但工程架构还是应该由人来定
前端·后端
lqbzlll1 小时前
Spring Boot 开启虚拟线程后接口反而变慢了?4 个排查方向和对应修法
java·spring boot·后端
回家路上绕了弯1 小时前
让 AI 成为团队的共同能力
后端
70后写java的老码农1 小时前
一个 starter 通吃 9 家主流大模型:Spring Boot 3.x + Spring AI 1.x 极简落地
后端
武子康2 小时前
MultiNet 只听到一次命令,为什么连续触发?
人工智能·后端·agent
挖掘狂人2 小时前
同一个端口能不能被两个程序同时监听?
java·后端·程序员
codigger2 小时前
同一个端口能不能被两个程序同时监听?
java·后端·程序员·编程
2501_933923252 小时前
SpringCloud:OpenFeign快速实现
java·后端·spring cloud·openfeign