一文带你了解Go语言fmt标准库输出函数的使用

 更新时间:2022年12月31日 08:27:08   作者:陈明勇  
这篇文章主要为大家详细介绍了Go语言中 fmt 标准库输出函数的使用,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下

fmt 输出函数

函数描述
Fprint(w io.Writer, a ...any) (n int, err error)使用默认格式将参数写入到 w 中,如果相邻两个参数都不是字符串,则在它们之前添加空格
Fprintf(w io.Writer, format string, a ...any) (n int, err error)根据格式说明符进行格式化,并写入到 w 中
Fprintln(w io.Writer, a ...any) (n int, err error)使用默认格式将参数写入到 w 中,参数之间添加空格和换行符
Print(a ...any) (n int, err error)打印指定参数,如果相邻两个参数都不是字符串,打印时用空格隔开
Printf(format string, a ...any) (n int, err error)根据格式说明符进行格式化并打印
Println(a ...any) (n int, err error)打印指定参数,参数之间用空格和换行符分隔
Sprint(a ...any) string将参数按照默认格式进行格式化,如果相邻两个参数都不是字符串则在其中间添加空格,并以字符串的结果返回
Sprintf(format string, a ...any) string根据格式说明符进行格式化并以字符串的结果返回
Sprintln(a ...any) string将参数按照默认格式进行格式化,参数之间添加空格和换行符,并以字符串的结果返回

Fprint、Fprintf、Fprintln

import (
    "fmt"
    "os"
)

func main() {
    file, err := os.OpenFile("./test.txt", os.O_WRONLY, 0666)
    if err != nil {
        return
    }
    defer file.Close()

    fmt.Fprint(file, "123")
    fmt.Fprintln(file, "456")
    fmt.Fprintf(file, "%d", 789)
}

打开 test.txt 文件,通过 Fprint 函数先将 123 写入到文件里;

然后通过 Fprintln 函数将 456 写入到文件里并换行;

最后通过 Fprintf 函数将 789 格式化输出到文件里。

程序运行后文件的内容为:

123456
789

Print、Printf、Println

import (
    "fmt"
)

func main() {
    fmt.Print("Hello, ")
    fmt.Println("World!")
    s := "golang!"
    fmt.Printf("Hello, %s", s)
}

首先通过 Print 函数打印 Hello, ;

然后通过 Println 函数打印 Wrold! 并换行,与上面打印的语句连起来,一行的打印内容为 Hello, World!;

最后通过 Printf 函数,进行格式化打印。

最终的打印结果为:

Hello, World!
Hello, golang!

Sprint、Sprintf、Sprintln

import (
    "fmt"
)

func main() {
    s1 := fmt.Sprint("hello, world!")
    fmt.Printf("%#v\n", s1)
    s2 := fmt.Sprintln("hello, gopher!")
    fmt.Printf("%#v\n", s2)
    name := "小明"
    s3 := fmt.Sprintf("hello, %s", name)
    fmt.Printf("%#v\n", s3)
}
  • 通过 Sprint 将指定内容转成默认格式的字符串并用变量 s1 接收,通过占位符 %#v 打印出 s1 的原生内容 → "hello, world!"
  • 通过 Sprintln 将指定内容转成默认格式的字符串并添加换行符,用变量 s2 接收,通过占位符 %#v 打印出 s2 的原生内容 → "hello, gopher!\n"
  • 通过 Sprintf 将指定内容转成指定格式的字符串并用变量 s3 接收,通过占位符 %#v 打印出 s3 的原生内容 → "hello, 小明"
  • 如果对占位符不是很了解的小伙伴,可以查看我的这篇文章 一文了解 Go fmt 标准库的常用占位符及其简单使用

小结

本篇文章对 fmt 标准库的常用输出函数进行了介绍。输出函数分三类介绍,第一类是输出到输出流里,第二类是标准输出,第三类是输出到字符串里。并给出简单的示例代码。

到此这篇关于一文带你了解Go语言fmt标准库输出函数的使用的文章就介绍到这了,更多相关Go语言fmt标准库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Golang中使用不定数量空格分割字符串的方法

    Golang中使用不定数量空格分割字符串的方法

    有这样一个使用空格分割字符串的场景,字符串中被分割的子串之间的空格数量不确定,有一个两个或者多个空格,这种场景下,使用最容易想到的strings.Split函数就做不到了,本文接下来就介绍几种行之有效的方法,需要的朋友可以参考下
    2023-07-07
  • 深入理解Go中的项目代码布局

    深入理解Go中的项目代码布局

    Go 语言的创世项目其实就是 Go 语言项目自身,是全世界第一个 Go 语言项目,本文主要来和大家详细介绍一下Go中的项目代码布局,需要的可以了解下
    2023-11-11
  • golang多次读取http request body的问题分析

    golang多次读取http request body的问题分析

    这篇文章主要给大家分析了golang多次读取http request body的问题,文中通过代码示例和图文介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01
  • Golang通道阻塞情况与通道无阻塞实现小结

    Golang通道阻塞情况与通道无阻塞实现小结

    本文主要介绍了Golang通道阻塞情况与通道无阻塞实现小结,详细解析了通道的类型、操作方法以及垃圾回收机制,从基础概念到高级应用,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • GO实现基于命令行的简单IPS程序代码

    GO实现基于命令行的简单IPS程序代码

    本文介绍了入侵防御系统IPS的工作原理和实现,IPS通过网络流量监控和实时响应,防止网络攻击,通过使用Go语言实现一个简单的IPS示例程序,展示了如何获取本地IP地址和探测网络中其他设备的IP地址,包括如何定义和加载规则文件,以及如何检测IP对相应端口的访问是否达到规定阈值
    2024-12-12
  • Go 项目目录布局保姆级教程

    Go 项目目录布局保姆级教程

    这篇文章主要为大家介绍了Go 项目目录布局保姆级教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Golang并发利器sync.Once的用法详解

    Golang并发利器sync.Once的用法详解

    在某些场景下,我们需要初始化一些资源。有时会采用延迟初始化的方式,在真正需要资源的时候才进行初始化。在这种情况下,Go语言中的sync.Once提供一个优雅且并发安全的解决方案,本文将对其进行详细介绍
    2023-04-04
  • golang读取文件的常用方法总结

    golang读取文件的常用方法总结

    今天小编就为大家分享一篇关于golang读取文件的常用方法总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Golang 依赖注入经典解决方案uber/fx理论解析

    Golang 依赖注入经典解决方案uber/fx理论解析

    这篇文章主要为大家介绍了Golang依赖注入经典解决方案uber/fx理论解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Go语言基础模板设计模式示例详解

    Go语言基础模板设计模式示例详解

    这篇文章主要为大家介绍了Go语言基础设计模式之模板模式的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11

最新评论