Go语言fmt.Sprintf格式化输出的语法与实例

格式化在逻辑中非常常用。使用格式化函数,要注意写法:

fmt.Sprintf(格式化样式, 参数列表…)

  • 格式化样式:字符串形式,格式化动词以%开头。
  • 参数列表:多个参数以逗号分隔,个数必须与格式化样式中的个数一一对应,否则运行时会报错。

在 Go 语言中,格式化的命名延续C语言风格:

var progress = 2
var target = 8

// 两参数格式化
title := fmt.Sprintf("已采集%d个药草, 还需要%d个完成任务", progress, target)

fmt.Println(title)

pi := 3.14159
// 按数值本身的格式输出
variant := fmt.Sprintf("%v %v %v", "月球基地", pi, true)

fmt.Println(variant)

// 匿名结构体声明, 并赋予初值
profile := &struct {
    Name string
    HP   int
}{
    Name: "rat",
    HP:   150,
}

fmt.Printf("使用'%%+v' %+v\n", profile)

fmt.Printf("使用'%%#v' %#v\n", profile)

fmt.Printf("使用'%%T' %T\n", profile)

代码输出如下:

已采集2个药草, 还需要8个完成任务

“月球基地” 3.14159 true

使用’%+v’ &{Name:rat HP:150}

使用’%#v’ &struct { Name string; HP int }{Name:“rat”, HP:150}

使用’%T’ *struct { Name string; HP int }C语言中, 使用%d代表整型参数

下表中标出了常用的一些格式化样式中的动词及功能。

动 词 功 能
%v 按值的本来值输出
%+v 在 %v 基础上,对结构体字段名和值进行展开
%#v 输出 Go 语言语法格式的值
%T 输出 Go 语言语法格式的类型和值
%% 输出 % 本体
%b 整型以二进制方式显示
%o 整型以八进制方式显示
%d 整型以十进制方式显示
%x 整型以十六进制方式显示
%X 整型以十六进制、字母大写方式显示
%U Unicode 字符
%f 浮点数
%p 指针,十六进制方式显示

总结

到此这篇关于Go语言fmt.Sprintf格式化输出的文章就介绍到这了,更多相关Go语言fmt.Sprintf格式化输出内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • goland 实现自动格式化代码

    1.利用File Watchers goland->Preferences->搜索框内输入 file watchers->选择File Watchers->点击右边的左下角的 + 号->选择go fmt 模板->弹出设置框,默认选项->点击确定->确定 设置成功后,在编写go 文件时就会自动格式化你的代码,如果没有生效,请重启下 2.利用goland 代码提交工具 goland 自带的git 提交工具里,点击提交按钮->弹出页面里勾上Go fmt-&g

  • Go 字符串格式化的实例代码详解

    Go对字符串格式化提供了良好的支持.下面我们看些常用的字符串格式化的例子. package main import "fmt" import "os" type point struct { x, y int } func main() { // Go提供了几种打印格式,用来格式化一般的Go值,例如 // 下面的%v打印了一个point结构体的对象的值 p := point{1, 2} fmt.Printf("%v\n", p) // 如果所格式

  • go语言中时间戳格式化的方法

    本文实例讲述了go语言中时间戳格式化的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: var t int64 = time.Now().Unix() var s string = time.Unix(t, 0).Format("2006-01-02 15:04:05") println(s) 这方式比较特别,按照123456来记忆吧:01月02号 下午3点04分05秒 2006年 希望本文所述对大家的Go语言程序设计有所帮助.

  • golang 格式化输入输出操作

    格式化字符串由占位符和普通字符组合而成. 占位符由'%'打头,动词结尾. 占位符由五类元素组成: 标志位(flag),宽度,精度,参数索引,以及动词. 除了最后的动词之外,其他元素均可省略. 看下面的常用类型的例子描述: 缺省格式和类型 Value: []int64{0, 1} 格式化后的效果 动词 描述 [0 1] %v 缺省格式 []int64{0, 1} %#v go语法打印 []int64 %T 类型打印 整型(缩进, 进制类型, 正负符号) Value: 15 格式化后的效果 动词 描

  • Go语言fmt.Sprintf格式化输出的语法与实例

    格式化在逻辑中非常常用.使用格式化函数,要注意写法: fmt.Sprintf(格式化样式, 参数列表…) 格式化样式:字符串形式,格式化动词以%开头. 参数列表:多个参数以逗号分隔,个数必须与格式化样式中的个数一一对应,否则运行时会报错. 在 Go 语言中,格式化的命名延续C语言风格: var progress = 2 var target = 8 // 两参数格式化 title := fmt.Sprintf("已采集%d个药草, 还需要%d个完成任务", progress, targ

  • python的格式化输出(format,%)实例详解

    皇城PK Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是format这根本就不算个问题.不信你往下看. # 定义一个坐标值 c = (250, 250) # 使用%来格式化 s1 = "敌人坐标:%s" % c 上面的代码很明显会抛出一个如下的TypeError: TypeError: not all arguments converted during string f

  • python:print格式化输出到文件的实例

    遇到一个写文件的小程序,需要把print输出改成输出到文件,遇到这个问题的思路是把需要的字符串拼接到一个字符串中,然后在写到文件中,这样做觉得很麻烦,想到之前的学的exec的使用,但是实验后发现exec没有返回值,无法将输出保存在变量中. 查过资料后,发现可以把print的输出直接写到文件里,不需要中间的保存过程,非常有效方便. 格式:print >> fp,格式串 #fp为文件句柄 data=open("D:\data.txt",'w+') print>>da

  • C语言基础之格式化输出控制长度

    c语言格式化输出控制长度 今天在实现ls命令的时候,输出的文件名是上下对齐: 1 2 a.c b crawler text 公共的 视频 文档 音乐 1.c 2.c a.out b.c git win 模板 图片 下载 桌面 便想着实现对齐,想到了c的格式化输出: printf("%-10s",s); 这样便实现了将字符串s占10格居左输出. 但却由一个难以解决的问题,上述的 10 不能提前预支,是程序运行时计算出来的,便想着能否这样输出: int a=5; char s[]=&quo

  • C语言新手入门之格式化输出和变量类型

    前言 C语言作为编程的入门语言,谁都想快一点学会这门编程语言,本文详细介绍了关于C语言格式化输出和变量类型的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 格式化输出 在PHP里面,我们一般都是用echo和var_dump以及print_r等来输出调试语句,在C语言中一般用printf来输出,不过由有点特殊,你需要在输出的时候指定输出的数据类型: #include <stdio.h> int main(){ int age = 10; printf("I

  • R语言格式化输出sprintf实例讲解

    用%s替代字符串 name <- 'max' sprintf('my name is %s',name) [1] "my name is max" 用%d替代整数 age <- 18 sprintf('age:%d',age) [1] "age:18" d前面添加数字n,可以添加n-替代数字位数的空格 sprintf('age:%3d',age) [1] "age: 18" d前面添加0加上数字n,可以添加n-替代数字位数的0 spr

  • C语言利用sprintf固定字符串输出位数

    目录 一.前言 二.案例 [1]多个整数输出补齐 [2]单个整数输出补齐 [3]固定时间长度 [4]浮点数补齐 [5]onenet数据组合 一.前言 sprintf 函数是一个 C 语言中的函数,也被许多其他编程语言所支持.它允许你根据一组变量来格式化和存储一个字符字符串.sprintf 函数可以用于将格式化的数据写入字符数组或字符串中,然后根据需要打印或存储该字符串.sprintf 函数的第一个参数是格式化数据将被写入的字符数组或字符串,随后的参数是用于生成格式化输出的变量.sprintf 函

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

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

  • python中的格式化输出用法总结

    本文实例总结了python中的格式化输出用法.分享给大家供大家参考,具体如下: Python一共有两种格式化输出语法. 一种是类似于C语言printf的方式,称为 Formatting Expression >>> '%s %d-%d' % ('hello', 7, 1) 'hello 7-1' 另一种是类似于C#的方式,称为String Formatting Method Calls >>> '{0} {1}:{2}'.format('hello', '1', '7'

  • C语言数据输入与输出实例详解

    C语言数据输入与输出实例详解 1 概论 C语言提供了跨平台的数据输入输出函数scanf()和printf()函数,它们可以按照指定的格式来解析常见的数据类型,例如整数,浮点数,字符和字符串等等.数据输入的来源可以是文件,控制台以及网络,而输出的终端可以是控制台,文件甚至是网页. 2 数据输出 从第一个c语言程序中,就使用了跨平台的库函数printf实现将一段文字输出到控制台,而实际上,printf()不仅可以将数据按照指定的格式输出到控制台,还可以是网页或者是指定的文件中,printf()函数执

随机推荐