首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
go
订阅
伊天雪人
更多收藏集
微信扫码分享
微信
新浪微博
QQ
30篇文章 · 0订阅
Go语言性能优化- For Range 性能研究
如果我们要遍历某个数组,Map集合,Slice切片等,Go语言(Golang)为我们提供了比较好用的For Range方式。range是一个关键字,表示范围,和for配合使用可以迭代数组,Map等集合。它的用法简洁,而且map、channel等也都是用for range的方式,…
Protobuf 语言指南(proto3)
Protocol Buffer是Google的语言中立的,平台中立的,可扩展机制的,用于序列化结构化数据 - 对比XML,但更小,更快,更简单。您可以定义数据的结构化,然后可以使用特殊生成的源代码轻松地在各种数据流中使用各种语言编写和读取结构化数据。 先来看一个非常简单的例子。…
goroutine 调度器详解
我们都知道Go语言是原生支持语言级并发的,这个并发的最小逻辑单元就是goroutine。goroutine就是Go语言提供的一种用户态线程,当然这种用户态线程是跑在内核级线程之上的。当我们创建了很多的
如何优雅的关闭Go Channel「译」
也就是说应该只在[唯一的或者最后唯一剩下]的生产者协程中关闭channel,来通知消费者已经没有值可以继续读了。只要坚持这个原则,就可以确保向一个已经关闭的channel发送数据的情况不可能发生。 如果想要在消费端关闭channel,或者在多个生产者端关闭channel,可以使…
Go 语言 Channel 的实现原理
这一节中的内容总共包含两个部分,我们会先介绍 Channel 的设计原理以及它在 Go 语言中的数据结构,接下来我们会分析常见的 Channel 操作,例如创建、发送、接收和关闭的实现原理,由于在 Range 和 Select 两节中我们会提到 Channel 在不同的控制结构…
C++性能榨汁机之无锁编程
前言私以为个人的技术水平应该是一个螺旋式上升的过程:先从书本去了解一个大概,然后在实践中加深对相关知识的理解,遇到问题后再次回到书本,然后继续实践……接触C++并发编程已经一年多,从慢慢啃《C++并发
服务发现:Zookeeper vs etcd vs Consul - Go语言中文网 - Golang中文社区
当我们写一个分布式的应用,分布式本身越来越不成问题。窃以为,go 是 google 内部最佳工程实践的典范。而 go 生态中的一些产品明显继承了 google 的优秀思想,包括,把重复的劳动交给机器,把人脑解放出来,做创造性的劳动。如果没有工具支撑,分布式很可能成为运维的灾难。
Go组件学习——手写连接池并没有那么简单
前段时间在看gorm,发现gorm是复用database/sql的连接池。 于是翻了下database/sql的数据库连接池的代码实现,看完代码,好像也不是很复杂,但是总觉得理解不够深刻,于是萌生了自己想写个连接池的想法。(最后也验证了,看源码的理解确实不够深刻,一看就会,一做…
从零开始实现一个RPC框架(二)
上一篇文章里我们实现了基本的RPC客户端和服务端,这次我们开始着手实现更上层的功能。篇幅所限,具体的代码实现参见:代码地址 首先让我们来重新定义Client和Server:SGClient和SGServer。SGClient封装了上一节定义的RPCClient的操作,提供服务治…
[译] Golang 数据结构:树
在你编程生涯的大部分时间中你都不用接触到树这个数据结构,或者即使并不理解这个结构,你也可以轻易地避开使用它们(这就是我过去一直在做的事)。 现在,不要误会我的意思 —— 数组,列表,栈和队列都是非常强大的数据结构,可以帮你在带你在编程之路上走的很远,但是它们无法解决所有的问题,…