Go 中的格式化字符串`fmt.Sprintf()` 和 `fmt.Printf()`
在 Go 中,可以使用 fmt.Sprintf() 和 fmt.Printf() 函数来格式化字符串,这两个函数类似于 C 语言中的 scanf 和 printf 函数。
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()`的更多相关文章
- PHP格式化字符串函数 sprintf()
定义和用法 sprintf() 函数把格式化的字符串写入一个变量中. 语法 sprintf(format,arg1,arg2,arg++) 参数 描述 format 必需.转换格式. arg1 必需. ...
- 格式化字符串函数sprintf
sprintf.snprintf相关函数的主要功能是把格式化的数据写入某个字符串.如最常见的应用是将整数或浮点数转换为字符串. 1.sprintf 将格式化的数据写入字符串,并自动在末尾加上一个空字符 ...
- java中实现与.net的format格式化字符串输出
Java中的格式化字符串 System.out.println(MessageFormat.format("name={0}", "张三")); .net中的格 ...
- 格式化字符串攻击原理及示例.RP
格式化字符串攻击原理及示例 一.类printf函数簇实现原理 类printf函数的最大的特点就是,在函数定义的时候无法知道函数实参的数目和类型. 对于这种情况,可以使用省略号指定参数表. 带有省略号的 ...
- JavaScript ES6格式化字符串方法
js想要动态更新文本内容,在ES5中没有格式化字符串的方法,在ES6中是有字符串格式化的方法的. 使用左上角数字1旁边的符号定义字符串.先定义好需要拼接的字符串,在字符串内部使用 ${变量名} 进行拼 ...
- Python从菜鸟到高手:格式化字符串
1. 字符串格式化基础 字符串格式化相当于字符串模板.也就是说,如果一个字符串有一部分是固定的,而另一部分是动态变化的,那么就可以将固定的部分做成模板,然后那些动态变化的部分使用字符串格式化操作符(% ...
- CVE-2012-3569:VMware OVF Tool 格式化字符串漏洞调试分析
0x01 简介 VMware OVF Tool 是一个命令行实用程序,允许您从许多 VMware 产品导入和导出 OVF 包.在 2.1.0 - 2.1.3 之间的版本中存在格式化字符串漏洞,通过修改 ...
- fmt.Sprintf格式化使用
格式化写法: fmt.Sprintf(格式化样式, 参数列表-) 参数说明: 格式化样式:字符串形式,格式化动词以%开头. 参数列表:多个参数以逗号分隔,个数必须与格式化样式中的动词个数对应,否则运行 ...
- sprintf格式化字符串带来的注入隐患
原文链接:https://paper.seebug.org/386/ 摘要点关键知识点 <?php $input = addslashes("%1$' and 1=1#"); ...
- sprintf 格式化字符串
好久没写博客了,又遇到自己觉得很傻的问题,格式化字符串还要找下 定义和用法 sprintf() 函数把格式化的字符串写入变量中. arg1.arg2.++ 参数将被插入到主字符串中的百分号(%)符号处 ...
随机推荐
- 遭遇DDOS攻击忍气吞声?立刻报警!首都网警重拳出击,犯罪分子无所遁形
公元2024年2月24日18时许,笔者的个人网站突然遭遇不明身份者的DDOS攻击,且攻击流量已超过阿里云DDos基础防护的黑洞阈值,服务器的所有公网访问已被屏蔽,由于之前早已通过Nginx屏蔽了所有国 ...
- 2022 Gartner RPA魔力象限,弘玑Cyclone位置飞跃国产RPA进击全球
文/王吉伟 7月25日,国际权威分析机构Gartner发布了2022全球RPA魔力象限报告(Gartner RPA MQ),UiPath.Automation Anywhere.微软等来自全球的15家 ...
- springboot参数据校验
什么是Hibernate Validator? Hibernate Validator是Hibernate提供的一个开源框架,使用注解方式非常方便的实现服务端的数据校验. 官网:http://hibe ...
- 码上掘金 里面 嵌入自定义组件,可以用做组件demo演示
查看代码片段 https://code.juejin.cn/pen/7128211910696108066 需求 将写的组件演示出来,默认 码上掘金 不能 嵌入组件. 解决问题 选择自定义模板,所有代 ...
- vscode 快捷键更换 ctrl + h 全局搜索 改为 f1 - 个人习惯 - 针对某些跨文件函数不能自动跳转
vscode 快捷键更换 ctrl + h 全局搜索 改为 f1 - 个人习惯 - 针对某些跨文件函数不能自动跳转 原来 f1 换成 ctrl + f1 它一般用 ctrl + shift + p 调 ...
- [【stars-one】Android图标生成器 PC工具
原文: [stars-one]Android图标生成器 - Stars-One的杂货小窝 一款Android开发者的PC工具软件,可以快速生成android开发需要使用的xml矢量图标文件 起因 个人 ...
- Python爬虫实战系列3:今日BBNews编程新闻采集
一.分析页面 打开今日BBNews网址 https://news.bicido.com ,下拉选择[编程]栏目 1.1.分析请求 F12打开开发者模式,然后点击Network后点击任意一个请求,Ctr ...
- MediaCodec 低延时解码
介绍 我们在使用Android的硬解进行解码时,如果是Android11以上则可以使用其特性低延迟,谷歌官方文档 以下是Android 11支持的低时延特性: ANGLE支持:Android 11引入 ...
- 【leetcode 1799 N次操作后的最大分数和】状态压缩
回溯会超时,状态压缩 class Solution { public int maxScore(int[] nums) { int len = nums.length; int size = 1 &l ...
- 详解在 centos 中引导到救援模式
详解在 centos 中引导到救援模式 Linux系统CentOS进入单用户模式和救援模式详解 一.概述 目前在运维日常工作中,经常会遇到服务器异常断电.忘记root密码.系统引导文件损坏无法进入系统 ...