随笔分类 - golang
摘要:[toc] Go routine 编排框架:oklog/run 包 1. 问题引入 oklog/run 包提供了一套非常简单、易用的 Go routine 编排框架。在介绍 oklog/run 前,我们先考虑以下问题: 假设我们有四个 Go routine 组件,如图所示,分别是运行一个状态机 sm
阅读全文
摘要:[toc] Golang 接口与反射知识要点 这篇文章以 Go 官方经典博客 "The Laws of Reflection" 为基础,详细介绍文中涉及的知识点,并有所扩展。 1. 接口类型变量 首先,我们谈谈接口类型的内存布局(memory layout),其他基础类型、Struct、Slice、
阅读全文
摘要:简析 Golang IO 包 io 包提供了 I/O 原语(primitives)的基本接口。io 包中定义了四个最基本接口 Reader、Writer、Closer、Seeker 用于表示二进制流的读、写、关闭和寻址操作。这些原语和接口是对底层操作的封装,因此如没有特殊说明,这些原语和接口都不能被
阅读全文
摘要:net/http 包涵盖了与 HTTP 请求发送和处理的相关代码。虽然包中定义了大量类型、函数,但最重要、最基础的概念只有两个:ServeMux 和 Handler。 ServeMux 是 HTTP 请求多路复用器(即路由器,HTTP request router),记录着请求路由表。对于每一个到来
阅读全文
摘要:Golang Context 包详解 0. 引言 在 Go 语言编写的服务器程序中,服务器通常要为每个 HTTP 请求创建一个 goroutine 以并发地处理业务。同时,这个 goroutine 也可能会创建更多的 goroutine 来访问数据库或者 RPC 服务。当这个请求超时或者被终止的时候
阅读全文

浙公网安备 33010602011771号