"" 与 `` 包裹字符串的区别
解析:
-
使用
""包裹的字符串会解析字符串中的转义符 -
使用
`包裹的字符串不会解析字符串中的转义符
性能:
-
使用
""包裹的字符串性能比较慢到极慢(由转义符和字符串的长度决定) -
使用
`包裹的字符串性能极快
说明:
-
字符串实际上是字符数组(学过其他编程语言的可能都知道,据我所知GoLang的书籍都没讲过或没重点讲) -
解析会遍历整一个字符串(字符数组),寻找可以解析的转义符,不管原先字符串里有没有转义符,都会遍历一次 -
不解析则会直接输出
测试用的代码实例
package main
import "time"
func main() {
str1 := "" // 用于保存 "" 包裹的字符串
str2 := `` // 用于保存 `` 包裹的字符串
timer := 1000 // 统一循环次数
i := timer // 计数器
t1 := time.Now().UnixNano()
for i > 0 {
str1 += "测试\n测试\n测试\n测试\n测试\n测试\n"
// str1 += "测试测试测试测试测试测试测试"
i--
}
t2 := time.Now().UnixNano()
println(`"" 所消耗的时间:`, t2-t1)
i = timer // 重置计数器
t3 := time.Now().UnixNano()
for i > 0 {
str2 += `测试` + "\n" + `测试` + "\n" + `测试` + "\n" +
`测试` + "\n" + `测试` + "\n" + `测试` + "\n"
// str2 += `测试测试测试测试测试测试测试`
i--
}
t4 := time.Now().UnixNano()
println("`` 所消耗的时间:", t4-t3)
}
双方有转义符要转译的情况下 - 输出结果:
"" 所消耗的时间: 4986900 `` 所消耗的时间: 1996200
-
时间比:
2.5 : 1
双方没有转义符要转译的情况下 - 输出结果:
"" 所消耗的时间: 3988900 `` 所消耗的时间: 1994300
-
时间比:
2 : 1
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 2018“双十一”全网销售数据分析:总额3143亿元,包裹数达13.4...
- 查找一个字符串中最长不含重复字符的子字符串,计算该最长子字符串的长度
- (三)C语言之字符串与字符串函数
- 算法笔记字符串处理问题H:编排字符串(2064)
- 如何在JavaScript中检查字符串是否包含子字符串?
- 字符串、字符处理总结
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Linux多线程服务端编程
陈硕 / 电子工业出版社 / 2013-1-15 / 89.00元
本书主要讲述采用现代C++ 在x86-64 Linux 上编写多线程TCP 网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。这是在Linux 下以native 语言编写用户态高性能网络程序最成熟的模式,掌握之后可顺利地开发各类常见的服务端网络应用程序。本书以muduo 网络库为例,讲解这种编程模型的使用方法及注意事项。 本......一起来看看 《Linux多线程服务端编程》 这本书的介绍吧!