首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
咔叽咔叽
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
40
文章 39
沸点 1
赞
40
返回
|
搜索文章
最新
热门
[译] 使用 Go 实现一个简单的事件总线模式
事件驱动架构是计算机科学中一种高度可扩展的范例。它允许我们可以多方系统异步处理事件。 事件总线是发布/订阅模式的实现,其中发布者发布数据,并且感兴趣的订阅者可以监听这些数据并基于这些数据作出处理。这使发布者与订阅者松耦合。发布者将数据事件发布到事件总线,总线负责将它们发送给订阅…
[译] Golang 中的数组和切片指南(及其差异)
首先,很容易看到数组和切片好像是同一个东西:表示列表的数据结构。然而,它们实际上彼此完全不同。 在这篇文章中,我们将探讨他们在 Go 中的差异和实现。 数组是固定的数据列表。这里的重点是固定的,因为一旦设置了数组的长度,它就无法更改。 我们在上面的例子中定义的 arr 变量的类…
[译] Go: 什么是 Unsafe 包?
ℹ️本文基于 Go 1.12。 看到 Unsafe 这个名称,我们应该尽量避免使用它。想要知道使用 Unsafe 包可能产生不安全的原因,我们首先来看看官方文档的描述: 因此,该名称被用作提示 unsafe 包可能带来 Go 类型的不安全性。现在我们来深入探讨一下文档中提到的两…
[译] 什么是缓存 false sharing 以及如何解决(Golang 示例)
在解释缓存 false sharing 之前,有必要简要介绍一下缓存在 CPU 架构中的工作原理。 CPU 中缓存的最小化单位是缓存行(现在来说,CPU 中常见的缓存行大小为 64 字节)。因此,当 CPU 从内存中读取变量时,它将读取该变量附近的所有变量。图 1 是一个简单的…
[译] Go: 理解 Sync.Pool 的设计
ℹ️本文基于 Go 1.12 和 1.13 版本,并解释了这两个版本之间 sync/pool.go 的演变。 sync 包提供了一个强大且可复用的实例池,以减少 GC 压力。在使用该包之前,我们需要在使用池之前和之后对应用程序进行基准测试。这非常重要,因为如果不了解它内部的工作…
[译] 我是如何在大型代码库上使用 pprof 调查 Go 中的内存泄漏
在今年的大部分时间里,我一直在 Orbs 团队用 Go 语言做可扩展的区块链的基础设施开发,这是令人兴奋的一年。在 2018 年的时候,我们研究我们的区块链该选择哪种语言实现。因为我们知道 Go 拥有一个良好的社区和一个非常棒的工具集,所以我们选择了 Go。 最近几周,我们进入…
[译] golang 官方文档 context
在刚刚过去的 2019 gopher china 大会上 context 概念被多次提起,包括很多框架的源码也大量运用了。看得出来 context 在 golang 的世界中是一个非常重要的知识点,所以有必要对 context 有一个基本的使用和认知。官方文档解释和示例都比较详…
[译] Go中的HTTP请求处理概述
使用 Go 处理 HTTP 请求主要涉及两件事:ServeMuxes 和 Handlers。 ServeMux本质上是一个 HTTP 请求路由器(或多路复用器)。它将传入的请求与预定义的 URL 路径列表进行比较,并在找到匹配时调用路径的关联 handler。 handler …
[译] part 14: golang 字符串
Go 中的字符串值得特别关注,因为与其他语言相比,它们的实现方式不太一样。 Go 中的字符串是一个字节切片。可以通过将内容放在在""内来创建字符串。来看一个简单的例子,我们创建一个字符串并打印它。 上面的程序将会输出Hello World。 Go 中的字符串兼容 Unicode…
[译] part 6: golang 函数
函数是一个执行指定任务的代码块。函数接收输入,对输入执行一些计算并生成输出。 函数声明以func关键字开头,然后是函数名。入参在(和)之间,返回类型在最后。用parametername type语法指定参数名和类型。也可以指定任意数量的参数,如(parameter1 type,…
下一页
个人成就
文章被点赞
741
文章被阅读
147,401
掘力值
4,398
关注了
41
关注者
563
收藏集
1
关注标签
13
加入于
2018-03-02