fmt包是Go语言中用于格式化输入输出的核心工具,提供Print系列函数实现打印功能,其中fmt.Print不换行、fmt.Println自动换行、fmt.Printf支持格式化输出;通过%v、%d、%s等动词可控制数据展示形式,结合Scan系列函数实现基本输入,配合bufio.Scanner可高效处理含空格的完整输入,满足命令行交互需求。
在Go语言中,fmt 包是实现输入输出操作的核心工具。它提供了格式化输入和输出的函数,使用起来简单高效,适用于控制台交互、调试信息打印以及数据展示等场景。
fmt.Print 系列函数用于将数据输出到标准输出(通常是终端)。它们之间的区别在于格式化方式和是否换行:
示例代码:
package main
import "fmt"
func main() {
name := "Alice"
age := 25
fmt.Print("Hello ", name, "! ")
fmt.Print("Age: ", age, "\n")
fmt.Println("Hello,", name, "you are", age, "years old.")
fmt.Printf("Name: %s, Age: %d\n", name, age)
}
fmt.Scan 系列函数用于从标准输入读取数据,适合简单的命令行交互:
使用示例:
package main
import "fmt"
func main() {
var name string
var age int
fmt.Print("Enter your name and age: ")
fmt.Scan(&name, &age)
fmt.Printf("Hello %s, you are %d years old.\n", name, age)
}
注意:Scan 在处理包含空格的字符串时会截断,建议
对完整句子使用 bufio.Scanner 配合 os.Stdin。
fmt 中的格式化字符串使用“动词”来指定类型输出方式:
例子:
type Person struct {
Name string
Age int
}
p := Person{"Bob", 30}
fmt.Printf("%v\n", p) // {Bob 30}
fmt.Printf("%+v\n", p) // {Name:Bob Age:30}
fmt.Printf("%T\n", p) // main.Person
对于需要读取整行或处理复杂输入的情况,推荐使用 bufio.Scanner:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
fmt.Print("Enter a line: ")
if scanner.Scan() {
text := scanner.Text()
fmt.Printf("You entered: %s\n", text)
}
}
这种方式能正确读取包含空格的内容,更适合用户输入句子或路径等场景。
基本上就这些。fmt 包覆盖了大多数基础输入输出需求,配合 bufio 可以应对更复杂的交互逻辑。掌握这些方法后,Go 的命令行程序开发会变得非常顺畅。
# golang
# go
# go语言
# 工具
# ai
# 区别
# 格式化输出
# red
# print
# printf
# 字符串
# 结构体
# 指针
相关文章:
定制建站模板如何实现SEO优化与智能系统配置?18字教程
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
个人网站制作流程图片大全,个人网站如何注销?
建站主机如何选?性能与价格怎样平衡?
建站上传速度慢?如何优化加速网站加载效率?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
小型网站建站如何选择虚拟主机?
网站代码制作软件有哪些,如何生成自己网站的代码?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
如何生成腾讯云建站专用兑换码?
建站之星Pro快速搭建教程:模板选择与功能配置指南
PHP正则匹配日期和时间(时间戳转换)的实例代码
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
建站与域名管理如何高效结合?
盘锦网站制作公司,盘锦大洼有多少5G网站?
建站主机服务器选购指南:轻量应用与VPS配置解析
中山网站制作网页,中山新生登记系统登记流程?
网站制作企业,网站的banner和导航栏是指什么?
网站制作公司,橙子建站是合法的吗?
高防服务器租用首荐平台,企业级优惠套餐快速部署
如何用PHP快速搭建CMS系统?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
如何在云主机上快速搭建网站?
浅析上传头像示例及其注意事项
如何在阿里云虚拟主机上快速搭建个人网站?
Swift中switch语句区间和元组模式匹配
如何在宝塔面板中创建新站点?
如何快速配置高效服务器建站软件?
音响网站制作视频教程,隆霸音响官方网站?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
在线制作视频网站免费,都有哪些好的动漫网站?
建站OpenVZ教程与优化策略:配置指南与性能提升
外贸公司网站制作哪家好,maersk船公司官网?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
如何在Windows环境下新建FTP站点并设置权限?
如何注册花生壳免费域名并搭建个人网站?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
再谈Python中的字符串与字符编码(推荐)
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
,制作一个手机app网站要多少钱?
网站制作话术技巧,网站推广做的好怎么话术?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
*请认真填写需求信息,我们会在24小时内与您取得联系。