0

0

如何在Go中格式化字符串

碧海醫心

碧海醫心

发布时间:2024-10-03 19:00:16

|

364人浏览过

|

来源于infoxiao.com

转载

如何在go中格式化字符串

在编写 Go 代码时,您会发现字符串格式化在许多情况下都非常有用。 您可能正在解析输入或制作比简单串联更复杂的输出。 您可能正在使用纯字符串以外的类型。

Go 中的字符串格式化使用熟悉的 printf 函数的过程和语法,从 Java 到 Haskell 的语言也使用这些函数。

Go 提供了多种格式化字符串的方法 fmt 包裹。 您可以根据要格式化的操作或输入使用函数和动词进行字符串格式化。

Go中的字符串格式化

fmt 包中的函数与对应的函数类似,例如 bash 或 C 中的 printf 函数。Go 从 C 派生其格式化动词。

你用 字符串格式化动词 作为包含字符串中变量值的占位符。 然后,您可以将该格式字符串传递给类似的函数 打印,以及与这些占位符对应的值。

您不能将字符串格式化动词与 打印打印 方法。 您可以将它们与以下方法一起使用 打印冲刺.

fmt.Println("This is a test %v", 90)
fmt.Printf("This is a test %v", 90)

%v 动词以其默认格式打印任何值。 这 打印 方法不识别动词并打印它收到的任何参数。 这 打印冲刺 函数都格式化您传递给它们的第一个字符串参数。

fmt 包中的字符串格式化函数

在 Go 编程语言中格式化字符串需要使用字符串格式化函数和动词。 该函数返回格式化的字符串,动词是字符串输入的占位符。

打印 方法根据格式说明符格式化输入并返回写入的字节数或错误数。

fmt.Printf("This is a test %v", 90)

按照惯例,您在使用 打印 方法。

冲刺 方法根据指定的格式格式化,并将结果作为字符串返回。

var result = fmt.Sprintf("This is a test %v", 90)

打印 方法格式化字符串并将其写入写入器(实现 io.Writer 界面)

result, err = fmt.Fprintf(writer, "This is a test %v", 90)

扫描仪 方法从阅读器扫描并根据指定的格式进行格式化。

var take string

readString := strings.NewReader(“This is a test”)

read, err := fmt.Fscanf(reader, “%v”, &take)

在这种情况下, 扫描仪 将来自阅读器的字符串解码为 变量,并且 变量保存格式的结果。

字符串格式化动词

Go 提供了许多格式化动词,您可以将它们与字符串格式化函数一起使用。

天龙企业网站管理系统 2008.net
天龙企业网站管理系统 2008.net

天龙企业网站管理系统,基于.net2.0+access开发,系统架构采用MVC设计模式,是一个十分优秀的.net企业管理系统。其中包括产品发布,新闻发布,企业简价,企业文化,下载中心,客户留言等功能。在V2.0 sp2 基础上再次升级: 1、修正了前台的投票调查功能。 2、增强系统安全性,增加了防SQL注入功能 3、修补了后台漏洞 4、增加了前台游客留言的字符过滤,自动过滤html格式以增强系统安

下载

有一般的字符串格式化动词,如 %v 字符串格式化函数示例中的动词。 您可以使用通用字符串格式化动词来格式化任何数据类型。

您可以使用 %#v 输出任何值的动词, %+v 对于结构, %T 动词表示任何值的类型,以及 %% 没有价值的动词。

type any struct { 
name string
age int
isLoggedIn bool
}

var instance = any {
name: “John Doe”,
age: 34,
isLoggedIn: true,
}

var result = fmt.Sprintf(“This is a struct formatting example %+v”, instance)
fmt.Println(result)

结果 变量保存实例化结构的格式化字符串。 如果你打印出来,它应该看起来像这样:

This is a struct formatting example {name:John Doe age:34 isLoggedIn:true}

有用于格式化特定 Go 原生数据类型的动词,包括通道和指针。

动词 功能性
%t 布尔值。
%d int、int8 等
%d, %#x 如果用 %#v 打印 uint、uint8 等
%G float32、complex64 等
%s 细绳。
%p
%P 指针。

您需要确保不会在动词上犯错误,因为它们区分大小写,例如 指针 动词。

格式化整数和浮点数

有用于格式化不同基数的整数的字符串格式化动词。 您可以使用这些动词中的任何一个来格式化整数

动词 功能性
%b 基地2
%C 由相应的 Unicode 代码点表示的字符。
%d 基数 10。
%o 基地 8.
%O 以 8 为基数,前缀为 0o。
%q 使用 Go 语法安全转义的单引号字符文字。
%X 以 16 为基数,用小写字母表示 af。
%X 以 16 为基数,AF 为大写字母。
%U Unicode 格式:U+1234; 与“U+%04X”相同。

例如,您可以使用 %d 动词:

var result = fmt.Sprintf("This is an integer formatting example %d", 90)
fmt.Println(result)

这些是格式化浮点数的动词。

动词 功能性
%b 以 strconv 的方式,指数为 2 的无十进制科学记数法。 FormatFloat 使用 ‘b’ 格式,例如 -123456p-78
%e 科学计数法,例如 -1.234456e+78
%E 小数点但没有指数,例如 123.456
%F 小数点但没有指数,例如 123.456
%F %f 的同义词。
%G %e 用于大指数,%f 否则。 精度低于。
%G %E 用于大指数,%F 否则
%X 十六进制表示法(具有两个指数的十进制幂),例如 -0x1.23abcp+20。
%X 大写十六进制表示法,例如 -0X1.23ABCP+20。

这是一个格式化小数点的示例,没有指数 %F 动词。

var result = fmt.Sprintf("This is a floating point formatting example %f", 432.9503)
fmt.Println(result)

如果你不确定类型,你总是可以使用一般动词。

格式化字符串和字节

Go 中的字符串和字节切片类型非常相似。 这些是格式化字符串和字节的标志。

动词 功能性
%s 字符串或切片的未解释字节
%q 使用 Go 语法安全转义的双引号字符串
%X 基数 16,小写,每字节两个字符
%X 以 16 为基数,大写,每字节两个字符

下面是一个用 %s 动词。

var score = "example"
var result = fmt.Sprintf("This is a string formatting example %s", score)
fmt.Println(result)

fmt 包对于 Python 编程是必不可少的

fmt 包包含字符串格式化所需的大部分功能。 Go 还提供了一个 字符串 字符串操作包和一个 日志 可以格式化字符串以进行日志记录的包。

fmt 包具有实现的功能 io.Writerio.Reader 接口。 您会发现它对许多用例非常有用,例如构建 Web 和命令行应用程序。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

310

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

222

2025.10.31

printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

75

2023.06.20

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

286

2023.11.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

320

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

212

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1502

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

625

2023.11.24

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 3.7万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号