GO: 输出(Print、Println 、Printf、Fprintf 、Sprintf的区别)

本文详细介绍了Go语言中的fmt包,包括Print、Println、Printf以及Fprintf等函数的用法,展示了各种格式化输出的方法,如打印基本数据类型、结构体及其字段,并提供了常见的占位符示例。此外,还讲解了Sprintf如何用于字符串格式化而不直接输出。
摘要由CSDN通过智能技术生成

区别

Print打印输出:

fmt.Print()  // 打印输出

Println打印输出并换行

fmt.Println()  // 打印输出并换行

Printf格式化字符串并输出,最后一个字母f表示format

fmt.Printf("打印这个字符串:%s ","string")  // 格式化字符串并输出

Fprintf把格式字符串输出到指定的文件设备中,输出到io.Writers 而不是 os.Stdout。第一个字符F表示file.

fmt.Fprintf(os.Stderr, “this is a %s\n”, "string")

Sprintf格式化字符串并返回,不会输出,可用于赋值

str := fmt.Sprintf("打印这个字符串:%s ","string")
fmt.Print(str)

fmt.SPrintf("打印这个字符串:%s ","string")  // 无任何输出

常见占位符

打印基本数据类型

// 整型
fmt.Printf("%d\n", 123)  // 123
// 浮点数
fmt.Printf("%f\n", 123.1)  // 123.1
// 字符串
fmt.Printf("%s\n", "qwe")  // qwe
// any value in a nature format: 适合struct,map等
fmt.Printf("%v\n", "qwe")  // qwe
fmt.Printf("%+v\n", "qwe")  // 这个+会把对象的field名也打印出来
// type of any value: 对象类型
fmt.Printf("%T\n", "qwe")  // string
// 布尔值
fmt.Printf("%t\n", true) // true
// 二进制
fmt.Printf("%b\n", 14) // 1110
// 十六进制
fmt.Printf("%x\n", 14) // 14
// 整数对应字符
fmt.Printf("%c\n", 33) // !
// 浮点数
fmt.Printf("%f\n", 78.9) // 78.900000
// 科学计数法
fmt.Printf("%e\n", 123400000.0) // 1.234000e+08
fmt.Printf("%E\n", 123400000.0) // 1.234000E+08

打印结构体

type point struct {
	x, y int
}

// 打印结构体实例
p := point{1, 2}
fmt.Printf("%v\n", p) // {1 2}
// 打印结构体键值对
fmt.Printf("%+v\n", p) // {x:1 y:2}
// 打印值源码片段
fmt.Printf("%#v\n", p) // main.point{x:1, y:2}
// 打印值类型
fmt.Printf("%T\n", p) // main.point
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值