首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
golang
订阅
Enchanter
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
Golang 如何正确使用 Context
at Golang UK Conf. 2017 如果进一步考虑。 如上图这样的 RPC 调用,开始调用 RPC 1 后,里面分别调用了 RPC 2, RPC 3, RPC 4,等所有 RPC 用成功后,返回结果。 RPC 2 失败后,如果没有 Context 的存在,那么我们可…
搞定Go单元测试(一)——基础原理
单元测试是代码质量的保证。本系列文章将一步步由浅入深展示如何在Go中做单元测试。 Go对单元测试的支持相当友好,标准包中就支持单元测试,在开始本系阅读之前,需要对标准测试包的基本用法有所了解。 现在,我们从单元测试的基本思想和原理入手,一起来看看如何基于Go提供的标准测试包来进…
Go Struct超详细讲解
Go语言中提供了对struct的支持,struct,中文翻译称为结构体,与数组一样,属于复合类型,并非引用类型。 Go语言的struct,与C语言中的struct或其他面向对象编程语言中的类(class)类似,可以定义字段(属性)和方法,但也有很不同的地方,需要深入学习,才能区…
Golang 的 协程调度机制 与 GOMAXPROCS 性能调优
Golang 简称 Go,Go 的协程(goroutine) 和我们常见的线程(Thread)一样,拥有其调度器。 全局G任务队列会和各个本地G任务队列按照一定的策略互相交换。没错,就是协程任务交换 如果还有空闲的P,则创建一个M 绑定该 P ,注意!这里,P 此前必须还没绑定…
Go语言的GPM调度器是什么?
相信很多人都听说过Go语言天然支持高并发,原因是内部有协程(goroutine)加持,可以在一个进程中启动成千上万个协程。那么,它凭什么做到如此高的并发呢?那就需要先了解什么是并发模型。 著名的C++专家Herb Sutter曾经说过“免费的午餐已经终结”。为了让代码运行的更快…
9种分布式ID生成方式,总有一款适合你
分布式ID必要性。 业务量小于500W的时候单独一个mysql即可提供服务,再大点的时候就进行读写分离也可以应付过来。但当主从同步也扛不住的是就需要分表分库了,但分库分表后需要有一个唯一ID来标识一条数据,数据库的自增ID显然不能满足需求;特别一点的如订单、优惠券也都需要有唯一…
golang面试题:对已经关闭的的chan进行读写,会怎么样?为什么?
读已经关闭的 chan 能一直读到东西,但是读到的内容根据通道内关闭前是否有元素而不同。 如果 chan 关闭前,buffer 内有元素还未读 , 会正确读到 chan 内的值,且返回的第二个 bool 值(是否读成功)为 true。 如果 chan 关闭前,buffer 内有…
为什么容器内存占用居高不下,频频 OOM
最近我在回顾思考(写 PPT),整理了现状,发现了这个问题存在多时,经过一番波折,最终确定了元凶和相对可行的解决方案,因此也在这里分享一下排查历程。 在上 Kubernetes 的前半年,只是用 Kubernetes,开发没有权限,业务服务极少,忙着写新业务,风平浪静。 在上 …
[译] 如何写好 Go 代码
但首先,我想给阅读这篇文章的读者解释一点。好代码是主观的。你可能对于好代码这一点,有完全不同的想法,而我们可能只对其中一部分意见一致。另一方面,我们可能都没有错,只是我们从两个角度出发,从而选择了不同的方式解决工程问题,并不意味着意见不一致的不是好代码。 包很重要,你可能会反对…
构建 Golang 应用最小 Docker 镜像
我通常使用docker运行我的 golang 程序,在这里分享一下我构建 docker 镜像的经验。我构建 docker 镜像不仅优化构建后的体积,还要优化构建速度。 使用了多阶段构建,也就是 FROM XXX as xxx ,在构建程序包的时候,使用带编译环境的镜像去构建,运…