前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go-标准库-fmt(二)

Go-标准库-fmt(二)

原创
作者头像
堕落飞鸟
发布2023-04-21 14:49:34
2730
发布2023-04-21 14:49:34
举报
文章被收录于专栏:飞鸟的专栏飞鸟的专栏

fmt.Sprintf

fmt.Sprintf 函数和 fmt.Printf 函数类似,只是它返回一个字符串,而不是输出到控制台。其基本语法如下:

代码语言:javascript
复制
func Sprintf(format string, a ...interface{}) string

例如:goCopy codestr := fmt.Sprintf("%d %s", 10, "hello")

上述代码将返回字符串 10 hello

fmt.Fprintf

fmt.Fprintf 函数可以将格式化字符串输出到一个 io.Writer 接口中,比如文件或网络连接。其基本语法如下:

代码语言:javascript
复制
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)

其中,w 参数是实现了 io.Writer 接口的对象,format 参数是格式化字符串,a ...interface{} 参数是可变参数,可以传入任意个数和任意类型的参数。例如:

代码语言:javascript
复制
file, err := os.Create("output.txt")
if err != nil {
    log.Fatal(err)
}
defer file.Close()

fmt.Fprintf(file, "%d %s\n", 10, "hello")

上述代码将输出 10 hello 到文件 "output.txt" 中。

格式化输入

fmt 包还提供了多种格式化输入的函数,可以从控制台或其他 io.Reader 接口中读取数据。

fmt.Scan

fmt.Scan 函数用于从标准输入中读取数据,以空格或换行符为分隔符,赋值给指定的变量。其基本语法如下:

代码语言:javascript
复制
func Scan(a ...interface{}) (n int, err error)

其中,a ...interface{} 参数是一个或多个指向变量的指针。例如:

代码语言:javascript
复制
var name string
var age int

fmt.Scan(&name, &age)
fmt.Printf("name: %s, age: %d\n", name, age)

上述代码将从标准输入中读取两个变量的值,以空格或换行符为分隔符,输出变量的值。

fmt.Scanf

fmt.Scanf 函数和 fmt.Scan 函数类似,只是它需要指定格式化字符串,以解析输入的数据。其基本语法如下:

代码语言:javascript
复制
func Scanf(format string, a ...interface{}) (n int, err error)

例如:

代码语言:javascript
复制
var name string
var age int

fmt.Scanf("%s %d", &name, &age)
fmt.Printf("name: %s, age: %d\n", name, age)

上述代码将从标准输入中读取两个变量的值,按照指定的格式化字符串解析输入的数据,输出变量的值。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • fmt.Sprintf
  • fmt.Fprintf
  • 格式化输入
    • fmt.Scan
      • fmt.Scanf
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档