目录
1. Print函数
2. Printf函数
3. Println函数
4. Sprintln()函数
5. Fprintln()函数
6. Fprintf()函数
7. Sprintf()函数
8. Errorf()函数
9. println()函数
10. print()函数
println()、fmt.Println()、print()和fmt.Print()之间的区别
总结
更多关于Go的相关技术点,敬请关注公众号:CTO Plus后续的发文,有问题欢迎后台留言交流。
由于不少粉丝在后台留言咨询关于Go的开发技术资料,所以在周末加深夜赶忙抽了点时间,规划了下关于Go系列的文章内容,我想大概分为三个阶段内容,第一阶段为Go的整个的语法特性。第二阶段就是Go的高级进阶内容涉及到分布式高并发这块。第三阶段就是后端开发,Web框架以及数据库操作部分。
以前的几篇文章中也对Go做了大概的分享介绍包括一些开源项目和学习资料,详细的请参考文末的推荐阅读。
原文:Go语言的打印输出方法总结
第一阶段一共近60篇大致内容如下:
【Go第一阶段】
《Go语言的高级特性,发展趋势,以及推荐最热门的开源项目》
《Go 1.21稳定版和新特性详解》
《Go的多端开发环境与编译器的搭建详解(图文)》
《Go编码,规范先行》
《Go的代码包以及自定义包的开发详细介绍》
《Go的命令操作总结教程》
《Go语言的打印输出方法总结 》
《Go语言变量探秘:灵活存储数据》
《Go语言常量解密:恒定不变的值》
《深入了解Go语言的数据类型》
《Go语言字符串操作大揭秘:高效处理文本》
《Go的流程控制(if、for、switch、goto)全面解析与刨坑》
《Go中字符串的遍历技巧:轻松操作文本》
《Go语言gconv类型转换:无缝转换数据》
《使用strconv进行Go的 int、float、string类型相互转换:灵活转换数据类型》
《Go的运算符解密:探索计算的奥秘》
《Go的表达式解析:理解代码的核心》
《Go的切片(slice)技巧:灵活操作有序集合》
《深入理解与深度解析Go语言的切片(Slice):探索底层机制》
《Go的Slice使用技巧:提升代码效率》
《Go的范围(range)遍历揭秘:掌握迭代技巧,高效处理数据集合》
《Go的rune解析:深入了解字符处理》
《Go语言Map(集合)操作大揭秘:掌握高效映射技巧》
《Go语言关键字解析:理解关键代码元素》
《Go语言映射技巧:灵活操作数据集合》
《Go语言赋值与(深浅)拷贝解析:深入分析数据处理》
《解析Go语言的数组:高效处理有序数据》
《Go的数组初始使用方法以及作为函数参数的使用方法》
《Go内置数据结构数组(array)、切片(slice)、字典(map)之间的区别和特点对比》
《Go的错误处理艺术:深入探讨Go语言的错误处理机制》
《浅谈Golang饱受争议的error:探讨其优缺点和应用场景》
《Go指针的奇妙世界:解析Go语言中的指针用法》
《Go方法的魅力:掌握Go语言中的方法使用技巧》
《Go模块化编程探秘:Go语言中模块的设计与使用》
《Go函数的奇妙之旅:深入理解Go语言中的函数特性》
《Go函数与方法的区别:揭秘它们的共性与差异》
《Go递归函数的魅力:探索Go语言中递归的妙用》
《Go高效内置函数大揭秘:开发中常用的Go语言内置函数》
《Go函数式编程探秘:优劣势与模块应用实战详解》
《Go高阶函数的魅力:掌握Go语言中的函数式编程》
《Go的高阶函数的作用以及使用详细介绍》
《Go接口(interface)的奇妙世界:深入理解Go语言中的接口特性》
《Go垃圾回收的黑盒解析:探究Go语言中的垃圾回收机制》
《Go快速集成日志模块:Go语言框架中的日志模块集成指南》
《Go结构体(struct)解析:掌握Go语言中结构体的使用技巧》
《Go性能测试技巧大揭秘:优化Go语言程序的性能》
《Go调试&单元测试:Go语言开发中的调试和测试技巧》
《Go时间操作大全解析:掌握时间处理的技巧》
《Go函数闭包底层实现:深入探讨Go语言中闭包的原理》
《Go并发安全的奥秘:深入理解Go语言中的并发安全性sync.Map的实现原理》
《Go并发编程基础之上下文的奇妙世界:什么是上下文以及探索Go语言中上下文的应用与实践》
《Go的包管理器工具mod》
《Go语言的包管理工具对比:Go Modules和dep》
《Go依赖管理工具dep》
《Go内存管理与垃圾回收机制剖析》
《如何在 Go 中使用日志包》
《Go执行体间的通信》
《Go协程:并行计算》
Go语言中的打印输出是开发者在调试和查看程序运行结果时非常常用的工具。在Go语言中,可以使用fmt包提供的函数来进行打印输出。
本篇我们来分别总结下Go的以下打印输出方法println()、print()、fmt.Print()、fmt.Printf()、fmt.Println()、fmt.Sprintln()、fmt.Fprintln()、fmt.Fprintf()、fmt.Sprintf()、Errorf()的区别、作用和使用方法。
首先,我们需要在Go文件的开头导入fmt包:
import "fmt"
接下来,我们可以使用fmt包中的Print、Printf和Println函数来进行打印输出。
更多关于Go的相关技术点,敬请关注公众号:CTO Plus后续的发文,有问题欢迎后台留言交流。
Print函数用于将给定的参数打印到标准输出中,不会换行。
可以传入多个参数,参数之间用空格分隔。
示例代码如下:
fmt.Print("Hello", "-", "SteveRocket") // Hello-SteveRocket
Printf函数用于按照指定的格式将给定的参数打印到标准输出中,不会换行。
可以传入多个参数,第一个参数为格式字符串,后面的参数为要打印的值。
格式字符串中可以使用占位符来表示要打印的值的类型和格式。
示例代码如下:
name := "SteveRocket"
age := 28
// 类似C语言
fmt.Printf("My name is %s and i am %d year old.", name, age) //My name is SteveRocket and i am 28 year old.
Println函数用于将给定的参数打印到标准输出中,并在最后加上一个换行符。
可以传入多个参数,参数之间用空格分隔。
示例代码如下:
fmt.Println("\n33 + 44 =", 33+44) // 33 + 44 = 77
Sprintln()函数用于将给定的参数转换为字符串,并返回一个包含这些字符串的新字符串。
可以传入多个参数,参数之间用空格分隔。
示例代码如下:
infos := fmt.Sprintln("Hello", name, age)
fmt.Println(infos) // Hello SteveRocket 28
Fprintln()函数用于将给定的参数打印到指定的io.Writer接口中,并在最后加上一个换行符。
可以传入多个参数,参数之间用空格分隔。
示例代码如下:
file, _ := os.Create("steverocket.txt")
fmt.Fprintln(file, "Hello", name, age, "微信公众号:CTO Plus")
将"Hello SteveRocket 28 微信公众号:CTO Plus"写入output.txt文件中,如果该文件存在,则覆盖文件里面的内容,如果不存在,则创建该文件。
关于os的其他使用请参考公众号CTO Plus的文章《2.Go中的标准库(内置包)os详解》。
Fprintf()函数用于按照指定的格式将给定的参数打印到指定的io.Writer接口中。
第一个参数为要打印的io.Writer接口,第二个参数为格式字符串,后面的参数为要打印的值。
格式字符串中可以使用占位符来表示要打印的值的类型和格式。
示例代码如下:
file2, _ := os.Create("steverocket.txt")
fmt.Fprintf(file2, "My name is %s and I am %d years old.", name, age)
// 将"My name is SteveRocket and I am 28 years old."写入steverocket.txt文件中,如果文件已存在内容,则会覆盖掉之前的内容,如果不存在,则创建该文件。
Sprintf()函数用于按照指定的格式将给定的参数转换为字符串,并返回一个包含这些字符串的新字符串。
第一个参数为格式字符串,后面的参数为要转换的值。
格式字符串中可以使用占位符来表示要转换的值的类型和格式。
示例代码如下:
info := fmt.Sprintf("My name is %s and I am %d years old.", name, age)
fmt.Println(info) // My name is SteveRocket and I am 28 years old.
同时,也可以使用这个函数将数字转为字符串,字符串可以是2进制、8进制、10进制或者16进制的表示。
格式 |
描述 |
%b |
整型以二进制方式显示 |
%o |
整型以八进制方式显示 |
%d |
整型以十进制方式显示 |
%x |
整型以十六进制方式显示 |
%X |
整型以十六进制、字母大写方式显示 |
使用方法
fmt.Sprintf("%d", int32(111)) // 111
fmt.Sprintf("%d", int64(111)) // 111
fmt.Sprintf("%d", 111) // 111
fmt.Sprintf("%b", 10) // 1010
Sprintf也支持 float32、float64 转 string
fmt.Sprintf("%f", 3.12344) // 3.123440
// 控制输出小数位数
fmt.Sprintf("%.2f", 323.12344) // 323.12
Errorf()函数用于格式化并返回一个错误字符串。
第一个参数为格式字符串,后面的参数为要格式化的值。
格式字符串中可以使用占位符来表示要格式化的值的类型和格式。
示例代码如下:
err := fmt.Errorf("An error occurred: %s, age is %d", "file not found", age)
fmt.Println(err) // An error occurred: file not found, age is 28
在Go语言中,println()和print()是两个常用的打印输出函数,用于在程序中输出信息。它们的作用是将指定的参数打印到标准输出(控制台)上。
println()函数用于将给定的参数打印到标准输出,并在每个参数之间添加一个空格,并在最后加上一个换行符。可以传入多个参数,参数之间用逗号分隔。
示例代码如下:
println("Hello", "SteveRocket", 28, 123.456, true) // Hello SteveRocket 28 +1.234560e+002 true
更多关于Go的相关技术点,敬请关注公众号:CTO Plus后续的发文,有问题欢迎后台留言交流。
print()函数用于将给定的参数打印到标准输出,每个参数之间不添加一个空格。可以传入多个参数,参数之间用逗号分隔,输出结果不换行。
示例代码如下:
print("Hello", "SteveRocket", 28, 123.456, true)// HelloSteveRocket28+1.234560e+002true
这两个函数都是Go语言内置的函数,可以直接在程序中使用,无需导入任何包。它们可以输出各种类型的数据,包括字符串、数字、布尔值等。通过使用这两个函数,开发者可以方便地在程序中输出各种信息,包括变量的值、调试信息、程序状态等。这对于调试和查看程序运行结果非常有用。
需要注意的是,这两个函数输出的内容只能打印到标准输出(控制台),无法将内容写入文件或其他输出流。如果需要将打印内容写入文件,可以使用fmt包提供的相关函数,如fmt.Fprintln()和fmt.Fprintf()。
在Go语言中,println()、fmt.Println()、print()和fmt.Print()都是常用的打印输出函数。它们之间存在一些区别,具体如下:
1. println()和fmt.Println()的区别
println()函数是Go语言内置的函数,无需导入任何包即可使用;而fmt.Println()函数是fmt包中的函数,需要导入fmt包才能使用。
println()函数在每个参数之间添加一个空格,并在最后加上一个换行符;而fmt.Println()函数在每个参数之间添加一个空格,并在最后加上一个换行符。
println()函数可以传入多个参数,参数之间用逗号分隔;fmt.Println()函数也可以传入多个参数,参数之间用逗号分隔。
println()函数的参数可以是任意类型的数据;fmt.Println()函数的参数可以是任意类型的数据。
2. print()和fmt.Print()的区别
print()函数是Go语言内置的函数,无需导入任何包即可使用;而fmt.Print()函数是fmt包中的函数,需要导入fmt包才能使用。
print()函数不在每个参数之间添加一个空格;而fmt.Print()函数在每个参数之间添加一个空格。
print()函数可以传入多个参数,参数之间用逗号分隔;fmt.Print()函数也可以传入多个参数,参数之间用逗号分隔。
print()函数的参数可以是任意类型的数据;fmt.Print()函数的参数可以是任意类型的数据。
两对函数的区别主要在于使用的包和输出格式的细微差别。println()和print()函数是Go语言内置的函数,使用简单方便,但功能相对较简单,只能输出到标准输出。而fmt.Println()和fmt.Print()函数是fmt包中的函数,提供了更多的格式化选项和输出方式,可以输出到标准输出、文件或其他输出流。因此,如果需要更复杂的格式化输出或将内容写入文件,建议使用fmt包提供的相关函数。
更多关于Go的相关技术点,敬请关注公众号:CTO Plus后续的发文,有问题欢迎后台留言交流。
总的来说,通过使用这些打印输出函数,开发者可以方便地在程序中输出各种信息,包括变量的值、错误信息、调试信息等。这些打印输出函数提供了不同的打印方式和格式化选项,可以帮助开发者快速定位问题、验证程序逻辑和观察程序运行结果,提高开发效率和调试能力,可以根据需要选择适合的函数来实现打印输出的需求。
println()和print()函数是Go语言中常用的打印输出函数,用于在程序中输出信息到标准输出。它们简单易用,可以方便地输出各种类型的数据。但如果需要更复杂的格式化输出或将内容写入文件,建议使用fmt包提供的相关函数。
云原生&微服务专栏
https://blog.csdn.net/zhouruifu2015/category_5704941
更多精彩,关注我公号,一起学习、成长
推荐阅读:
开源项目 | 17款云原生安全相关的扫描和平台类开源工具
开源项目 | 总结19个Go语言日常开发中使用到的热门开源项目
看这一篇就够了 总结Go关键字作用、特性以及使用方式详解
开源项目 | Go语言最热门的开源Web开发框架总结
Golang vs Python:一场高效编程语言对决
云原生时代的高性能编程语言Golang的学习资料推荐