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

目录
  • fmt 输出函数
  • Fprint、Fprintf、Fprintln
  • Print、Printf、Println
  • Sprint、Sprintf、Sprintln
  • 小结

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标准库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Go语言调用其它程序并获得程序输出的方法

    本文实例讲述了Go语言调用其它程序并获得程序输出的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (     "exec" // "os/exec" in go1     "fmt" ) func main(){     cmd := exec.Command("ls", "-l")     buf, err := cmd.Output()   

  • 详解Go 结构体格式化输出

    在软件系统中定位问题时日志不可或缺,但是当一个系统功能繁多,需要打印的日志也多如牛毛,此时为了提高我们浏览日志的效率,便于阅读的输出格式必不可少. 打印结构体是打印日志时最长见的操作,但是当结构体内容较多都在一行时,不易于阅读.在 Go 中结构体可以方便的转为 JSON,因此我们可以借助 JSON 完成对 struct 的格式化输出. 打印在一行,使用 %+v 显示结构体字段名: package main import ( "fmt" ) // Student 学生信息 type St

  • Django开发中的日志输出的方法

    开发环境:Ubuntu16.04+Django 1.11.9+Python2.7 一:使用自定义函数输出日志到log文件: import time def print_log(log): file_obj = open('/tmp/filename.log', 'a+') log_time = time.strftime( '[%Y-%m-%d %H:%M:%S]', time.localtime( time.time())) # 转化时间格式 file_obj.write("%s\n"

  • go语言使用pipe读取子进程标准输出的方法

    本文实例讲述了go语言使用pipe读取子进程标准输出的方法.分享给大家供大家参考.具体如下: 其核心代码如下: 复制代码 代码如下: cmd := exec.Command("cmd", "args") stdout, err := cmd.StdoutPipe() cmd.Start() r := bufio.NewReader(stdout) line, _, err := r.ReadLine() 希望本文所述对大家的Go语言程序设计有所帮助.

  • golang的time包:秒、毫秒、纳秒时间戳输出方式

    菜鸟的时候只知道时间戳有10位.13位.还有好长位数的. 入坑久了才明白 10位数的时间戳是以 秒 为单位: 13位数的时间戳是以 毫秒 为单位: 19位数的时间戳是以 纳秒 为单位: golang中可以这样写: package main import ( "time" "fmt" ) func main() { fmt.Printf("时间戳(秒):%v;\n", time.Now().Unix()) fmt.Printf("时间戳(

  • 一文带你了解Go语言fmt标准库输入函数的使用 原创

    目录 fmt 输入函数 Fscan.Fscanf.Fscanln Fscan Fscanf Fscanln Scan.Scanf.Scanln Scan Scanf Scanln Sscan.Sscanf.Sscanln 小结 fmt 输入函数 函数 描述 Fscan(r io.Reader, a ...any) (n int, err error) 从 r 中读取内容,以空格或换行符为分隔符,按顺序依次赋值给不同参数 Fscanf(r io.Reader, format string, a .

  • 一文带你入门Go语言中定时任务库Cron的使用

    目录 前言 快速开始 安装 导入 Demo Cron表达式格式 标准格式 预定义时间表 常用的方法介绍 new() AddJob() AddFunc() Start() 相关推荐 Go第三方库之cronexpr——解析 crontab 表达式 总结 前言 在平时的开发需求中,我们经常会有一些重复执行的操作需要触发执行,和系统约个时间,在几点几分几秒或者每隔几分钟跑一个任务,说白了就是定时任务,,想必大家第一反应都是linux的Crontab.其实定时任务不止使用系统自带的Crontab,在Go语

  • 一文详解Go语言fmt标准库的常用占位符使用

    目录 占位符 占位符使用示例 占位符 通过占位符,可以指定格式进行输入或输出,以下为 fmt 标准库里的占位符: 普通占位符 占位符 描述 举例 结果 %v 默认格式的值 fmt.Printf("%v", User{Name: "小明", Age: 18}) {小明 18} %+v 如果打印的是结构体,额外打印字段名 fmt.Printf("%+v", User{Name: "小明", Age: 18}) {Name:小明 A

  • 一文带你掌握Go语言运算符的使用

    目录 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 运算符优先级 运算符用于在程序运行时执行数学或逻辑运算. Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 接下来让我们来详细看看各个运算符的介绍. 算术运算符 算术运算符,所有的数据类型要相同 下表列出了所有Go语言的算术运算符.假定 A 值为 10,B 值为 20. 运算符 描述 实例 + 相加 A + B 输出结果 30 - 相减 A - B 输出结果 -10 * 相

  • 一文带你了解Go语言中的类型断言和类型转换

    目录 类型断言 类型判断 为什么需要断言 类型转换 什么时候使用类型转换 类型为什么称为转换 类型结论 在Go中,类型断言和类型转换是一个令人困惑的事情,他们似乎都在做同样的事情. 下面是一个类型断言的例子: var greeting interface{} = "hello world" greetingStr := greeting.(string) 接着看一个类型转换的例子: greeting := []byte("hello world") greeting

  • 一文带你了解Go语言中的指针和结构体

    目录 前言 指针 指针的定义 获取和修改指针所指向变量的值 结构体 结构体定义 结构体的创建方式 小结 前言 前面的两篇文章对 Go 语言的基础语法和基本数据类型以及几个复合数据类型进行介绍,本文将对 Go 里面的指针和结构体进行介绍,也为后续文章做铺垫. 指针 在 Go 语言中,指针可以简单理解是一个地址,指针类型是依托于某一个类型而存在的,例如 Go 里面的基本数据类型 int.float64.string 等,它们所对应的指针类型为 *int.*float64.*string等. 指针的定

  • 一文带你了解Go语言中接口的使用

    目录 接口 接口的实现 接口类型变量 空接口 类型断言 类型断言变种 type switch 小结 接口 在 Go 语言中,接口是一种抽象的类型,是一组方法的集合.接口存在的目的是定义规范,而规范的细节由其他对象去实现.我们来看一个例子: import "fmt" type Person struct { Name string } func main() { person := Person{Name: "cmy"} fmt.Println(person) //

  • 一文带你掌握Go语言中的文件读取操作

    目录 os 包 和 bufio 包 os.Open 与 os.OpenFile 以及 File.Read 读取文件操作 bufio.NewReader 和 Reader.ReadString 读取文件操作 小结 os 包 和 bufio 包 Go 标准库的 os 包,为我们提供很多操作文件的函数,如 Open(name) 打开文件.Create(name) 创建文件等函数,与之对应的是 bufio 包,os 包是直接对磁盘进行操作的,而 bufio 包则是带有缓冲的操作,不用每次都去操作磁盘.

  • 一文带你了解Go语言中方法的调用

    目录 前言 方法 方法的调用 Receiver 参数类型的选择 方法的约束 小结 前言 在前面的 一文熟悉 Go 函数 文章中,介绍了 Go 函数的声明,函数的几种形式如匿名函数.闭包.基于函数的自定义类型和函数参数详解等,而本文将对方法进行介绍,方法的本质就是函数,介绍方法的同时也会顺带对比其与函数的不同之处. 方法 在 Go 中,我们可以为任何的数据类型定义方法(指针或接口除外),现在让我们看一看方法的声明和组成部分以及与函数有什么不同之处. type Person struct { age

  • 一文带你熟悉Go语言中函数的使用

    目录 函数 函数的声明 Go 函数支持变长参数 匿名函数 闭包 init 函数 函数参数详解 形式参数与实际参数 值传递 函数是一种数据类型 小结 函数 函数的英文单词是 Function,这个单词还有着功能的意思.在 Go 语言中,函数是实现某一特定功能的代码块.函数代表着某个功能,可以在同一个地方多次使用,也可以在不同地方使用.因此使用函数,可以提高代码的复用性,减少代码的冗余. 函数的声明 通过案例了解函数的声明有哪几部分: 定义一个函数,实现两个数相加的功能,并将相加之后的结果返回. f

随机推荐