首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
误用短声明导致变量覆盖
误用字符串
发生错误时使用defer关闭一个文件
不需要将一个指向切片的指针传递给函数
使用指针指向接口类型
使用值类型时误用指针
误用协程和通道
闭包和协程的使用
糟糕的错误处理
关于逗号ok模式
defer 模式
可见性模式
运算符模式和接口
字符串
数组和切片
映射
结构体
接口
函数
文件
协程(goroutine)与通道(channel)
网络和网页应用
其他
出于性能考虑的最佳实践和建议
项目简介
短网址项目简介
数据结构和前端界面
用户界面:web 服务端
添加持久化存储
添加协程
用 JSON 持久化存储
分布式程序
使用代理缓存
总结和增强
什么是 Google App Engine?
云上的 Go
安装 Go App Engine SDK:为 Go 部署的开发环境
建造你自己的 Hello world 应用
使用用户服务和探索其 API
处理窗口
使用数据存储
上传到云端
Heroku:一个使用 Go 的高度可用一致数据存储
MROffice:一个使用 Go 的呼叫中心网络电话 (VOIP) 系统
Atlassian:一个虚拟机群管理系统
Camilistore:一个可寻址内容存储系统
Go 语言的其他应用
当前位置:
首页>>
技术小册>>
go编程权威指南(四)
小册名称:go编程权威指南(四)
当需要对一个字符串进行频繁的操作时,谨记在 go 语言中字符串是不可变的(类似 Java 和 C#)。使用诸如 `a += b` 形式连接字符串效率低下,尤其在一个循环内部使用这种形式。这会导致大量的内存开销和拷贝。**应该使用一个字符数组代替字符串,将字符串内容写入一个缓存中。** 例如以下的代码示例: ```go var b bytes.Buffer ... for condition { b.WriteString(str) // 将字符串str写入缓存buffer } return b.String() ``` 注意:由于编译优化和依赖于使用缓存操作的字符串大小,当循环次数大于 15 时,效率才会更佳。
上一篇:
误用短声明导致变量覆盖
下一篇:
发生错误时使用defer关闭一个文件
该分类下的相关小册推荐:
深入浅出Go语言核心编程(六)
Go Web编程(中)
深入浅出Go语言核心编程(三)
go编程权威指南(一)
go编程权威指南(三)
Go Web编程(上)
Go开发权威指南(上)
Go开发基础入门
深入浅出Go语言核心编程(五)
深入浅出Go语言核心编程(一)
Go语言从入门到实战
Go 组件设计与实现