"" 与 `` 包裹字符串的区别
解析:
-
使用
""包裹的字符串会解析字符串中的转义符 -
使用
`包裹的字符串不会解析字符串中的转义符
性能:
-
使用
""包裹的字符串性能比较慢到极慢(由转义符和字符串的长度决定) -
使用
`包裹的字符串性能极快
说明:
-
字符串实际上是字符数组(学过其他编程语言的可能都知道,据我所知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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Flash PHP实用开发技术
Steve Webster著、王黎译 / 王黎 / 清华大学出版社 / 2002-3 / 39.00元
本书将介绍服务器端脚本所提供的各种可能的操作方案,帮助读者掌握设计数据库集成程序和高端应用程序的知识。一起来看看 《Flash PHP实用开发技术》 这本书的介绍吧!