在 Go 中,可以使用 fmt.Sprintf()fmt.Printf() 函数来格式化字符串,这两个函数类似于 C 语言中的 scanfprintf 函数。

fmt.Sprintf()

fmt.Sprintf() 函数返回一个格式化后的字符串,而不是将其打印到标准输出流中。下面是一个例子:

package main

import "fmt"

func main() {
name := "Mazey"
age := 24
str := fmt.Sprintf("My name is %s and I'm %d years old.", name, age)
fmt.Println(str)
}

输出:

My name is Mazey and I'm 24 years old.

在这个例子中,使用了 %s%d 格式化动词来格式化字符串。s 用于字符串,d 用于整数。

fmt.Printf()

fmt.Printf() 函数将格式化后的字符串打印到标准输出流中。下面是一个例子:

package main

import "fmt"

func main() {
name := "Mazey"
age := 24
fmt.Printf("My name is %s and I'm %d years old.", name, age)
}

输出:

My name is Mazey and I'm 24 years old.

在这个例子中,使用了 %s%d 格式化动词来打印格式化字符串。s 用于字符串,d 用于整数。

格式化动词 Verbs

在 Go 中,可以使用不同的格式化动词来格式化不同类型的数据。下面是五个最常用的格式化动词:

  • %s:用于字符串
  • %t:用于布尔值
  • %d:用于有符号十进制整数
  • %f:用于浮点数
  • %v:用于任何值

参数索引 Argument Indexes

如果想要在格式化字符串中引用相同类型的多个参数,可以使用参数索引。例如:

package main

import "fmt"

func main() {
fmt.Printf("%[2]d %[1]d", 2, 3)
}

输出:

3 2

在这个例子中,使用了参数索引来交换 %d 格式化动词引用的参数顺序。

总结

在 Go 中,可以使用 fmt.Sprintf()fmt.Printf() 函数来格式化字符串。本文介绍了五个最常用的格式化动词和参数索引的使用方法。

版权声明

本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者后除和本文原始地址:https://blog.mazey.net/3558.html

(完)

Go 中的格式化字符串`fmt.Sprintf()` 和 `fmt.Printf()`的更多相关文章

  1. PHP格式化字符串函数 sprintf()

    定义和用法 sprintf() 函数把格式化的字符串写入一个变量中. 语法 sprintf(format,arg1,arg2,arg++) 参数 描述 format 必需.转换格式. arg1 必需. ...

  2. 格式化字符串函数sprintf

    sprintf.snprintf相关函数的主要功能是把格式化的数据写入某个字符串.如最常见的应用是将整数或浮点数转换为字符串. 1.sprintf 将格式化的数据写入字符串,并自动在末尾加上一个空字符 ...

  3. java中实现与.net的format格式化字符串输出

    Java中的格式化字符串 System.out.println(MessageFormat.format("name={0}", "张三")); .net中的格 ...

  4. 格式化字符串攻击原理及示例.RP

    格式化字符串攻击原理及示例 一.类printf函数簇实现原理 类printf函数的最大的特点就是,在函数定义的时候无法知道函数实参的数目和类型. 对于这种情况,可以使用省略号指定参数表. 带有省略号的 ...

  5. JavaScript ES6格式化字符串方法

    js想要动态更新文本内容,在ES5中没有格式化字符串的方法,在ES6中是有字符串格式化的方法的. 使用左上角数字1旁边的符号定义字符串.先定义好需要拼接的字符串,在字符串内部使用 ${变量名} 进行拼 ...

  6. Python从菜鸟到高手:格式化字符串

    1. 字符串格式化基础 字符串格式化相当于字符串模板.也就是说,如果一个字符串有一部分是固定的,而另一部分是动态变化的,那么就可以将固定的部分做成模板,然后那些动态变化的部分使用字符串格式化操作符(% ...

  7. CVE-2012-3569:VMware OVF Tool 格式化字符串漏洞调试分析

    0x01 简介 VMware OVF Tool 是一个命令行实用程序,允许您从许多 VMware 产品导入和导出 OVF 包.在 2.1.0 - 2.1.3 之间的版本中存在格式化字符串漏洞,通过修改 ...

  8. fmt.Sprintf格式化使用

    格式化写法: fmt.Sprintf(格式化样式, 参数列表-) 参数说明: 格式化样式:字符串形式,格式化动词以%开头. 参数列表:多个参数以逗号分隔,个数必须与格式化样式中的动词个数对应,否则运行 ...

  9. sprintf格式化字符串带来的注入隐患

    原文链接:https://paper.seebug.org/386/ 摘要点关键知识点 <?php $input = addslashes("%1$' and 1=1#"); ...

  10. sprintf 格式化字符串

    好久没写博客了,又遇到自己觉得很傻的问题,格式化字符串还要找下 定义和用法 sprintf() 函数把格式化的字符串写入变量中. arg1.arg2.++ 参数将被插入到主字符串中的百分号(%)符号处 ...

随机推荐

  1. ASP.NET Core 微信支付(二)【 发布到服务器上签名加密时报错:系统找不到指定的文件 APIV3】

    参考资料 .Net微信支付退款操作"系统找不到指定的文件" 错误现象 微信支付(API v3)的统一下单接口和订单查询接口在本地调试成功,可以使用,但是发布到服务器上之后调用接口就 ...

  2. elasticsearch 查询索引和清理索引命令

    查询 curl --silent 'http://127.0.0.1:9200/_cat/indices' 删除 curl -X DELETE "localhost:9200/wifiloc ...

  3. 【Azure 事件中心】通过 az rest --method get 如何获得Event Hub Entity 级的统计指标

    问题描述 通过 az rest --method get  如何获得Event Hub Entity 级的统计指标? 问题解答 查阅文档  https://learn.microsoft.com/en ...

  4. 【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?

    问题描述 如何查看PHP应用部署到App Service后,Azure上面使用的应用服务器是什么呢?因为App Service支持两种操作系统,Windows 和 Linux.在Windows中,使用 ...

  5. C++特殊类的设计与单例模式

    #pragma once // 1. 设计一个不能被拷贝的类/* 解析:拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝, 只需让该类不能调用拷贝构造函数以及赋值运算 ...

  6. Codeforces Round 113 (Div. 2)E. Tetrahedron(dp、递推)

    目录 题面 链接 题意 题解 代码 总结 题面 链接 E. Tetrahedron 题意 从一个顶点出发走过路径长度为n回到出发点的方案总数 题解 考虑dp \(f[i][0|1|2|3]\):走了i ...

  7. Redis系列:RDB内存快照提供持久化能力

    ★ Redis24篇集合 1 介绍 从上一篇的 <深刻理解高性能Redis的本质> 中可以知道, 我们经常在数据库层上加一层缓存(如Redis),来保证数据的访问效率. 这样性能确实也有了 ...

  8. mysql标识列和事务

    1 #标识列 2 /* 3 又称为自增长列 4 含义:可以不用手动的插入值,系统提供默认的序列值 5 6 7 特点: 8 1.标识列必须和主键搭配吗?不一定,但要求是一个key 9 2.一个表可以有几 ...

  9. ansible 自动化运维(2)

    回到顶部 Ansible playbook 简介 playbook 是 ansible 用于配置,部署,和管理被控节点的剧本. 通过 playbook 的详细描述,执行其中的一系列 tasks ,可以 ...

  10. vscode 函数注释方法 输入 /** 回车 自动就出来了

    vscode 函数注释方法 输入 /** 回车 自动就出来了