go语言使用中提示%!(NOVERB)的解决方案
码农编程进阶笔记
共 1005字,需浏览 3分钟
·
2023-11-10 12:09
go语言的设计目标是提供一种简单易用的编程语言,同时保持高效性和可扩展性,它支持垃圾回收机制,具有强大的并发编程能力,可以轻松处理大规模的并发任务,Go语言还拥有丰富的标准库和活跃的开发社区,使得开发者能够快速构建出高质量的应用程序.
什么情况下会产生?
var hourPaidSuccessFenzi = decimal.NewFromFloat(10)
var alertName = fmt.Sprintf("支付成功率报警,汇总支付成功率低于%s%", hourPaidSuccessFenzi.String()),
fmt.Println(alertName)
运行结果就会成为:
支付成功率报警,汇总支付成功率低于10%!(NOVERB)
为啥会这样呢?
是因为% 是字符串参与转义的标志符,如 %s, %v, %d等。。。
%!(NOVERB) 的出现是GO语言的一种安全转义机制,怎样避免这样的情况?
// 用双百分号 %% 代替无意义的单百分 % 如:
var hourPaidSuccessFenzi = decimal.NewFromFloat(10)
var alertName = fmt.Sprintf("支付成功率报警,汇总支付成功率低于%s%%", hourPaidSuccessFenzi.String()),
fmt.Println(alertName)
最终运行结果为:
支付成功率报警,汇总支付成功率低于10%
Go语言是一种简洁、高效、并发性强的编程语言,适用于构建可靠的、高性能的软件系统。它具有简单易用的特点,同时保持高效性和可扩展性。Go语言支持垃圾回收机制,具有强大的并发编程能力,可以轻松处理大规模的并发任务。它还拥有丰富的标准库和活跃的开发社区,使得开发者能够快速构建出高质量的应用程序。Go语言的出现为开发者提供了一种新的选择,它在性能和开发效率上都有很大的优势。随着Go语言的不断发展和完善,相信它将在未来的软件开发领域中发挥越来越重要的作用。
评论
使用Go语言实现 pping
大家好,我是鸟窝。在前一篇pping: 被动式ping,计算网络时延中,我给大家介绍了 pping 这个工具的原理和使用方法。这篇文章中,我将使用 Go 语言实现 pping 工具。通过这篇文章,你将了解到:如何使用 gopacket 来捕获和解析网络数据包如何设置捕获时长和过滤捕获的数据包如何在
GoCN
1
gqlengineGo 语言的 GraphQL 解决方案
gqlengine 是一个 GraphQL golang 解决方案(服务端框架),基于 graphq
gqlengineGo 语言的 GraphQL 解决方案
0