"" 与 `` 包裹字符串的区别
解析:
-
使用
""
包裹的字符串会解析
字符串中的转义符
-
使用
`
包裹的字符串不会解析
字符串中的转义符
性能:
-
使用
""
包裹的字符串性能
比较慢
到极慢
(由转义符
和字符串的长度
决定) -
使用
`
包裹的字符串性能
极快
说明:
-
字符串
实际上是字符数组
(学过其他编程语言
的可能都知道,据我所知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中检查字符串是否包含子字符串?
- 字符串、字符处理总结
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。