写《Go语言四十二章经》,纯粹是因为开发过程中碰到过的一些问题,踩到过的一些坑,感觉在Go语言学习使用过程中,有必要深刻理解这门语言的核心思维、清晰掌握语言的细节规范以及反复琢磨标准包代码设计模式,于是才有了这本书。
2021年09月03日 LevelDB 和 BoltDB 都是k/v非关系型数据库。
2021年09月03日 本文详细介绍 Go语言中如何对 MySQL 数据库进行增删改查操作。
2021年09月03日 Go 提供了database/sql包用于对关系型数据库的访问。
2021年09月03日 Protocol Buffer 简单称为protobuf(Pb),是Google开发出来的一个语言无关、平台无关的数据序列化工具,在rpc或tcp通信等很多场景都可以使用。在服务端定义一个数据结构,通过protobuf转化为字节流,再传送到客户端解码,就可以得到对应的数据结构。它的通信效率极高,同一条消息数据,用protobuf序列化后的大小是JSON的10分之一左右。
2021年09月03日 在Go语言中,利用encoding/json标准包将数据序列化为JSON数据格式这个过程简单直接,直接使用json.Marshal(v)来处理任意类型,序列化成功后得到一个字节数组。
2021年09月03日 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。
2021年09月03日 前面介绍协程时,对协程的管理和控制我们并没有进行讨论。到目前我们已经清楚认识了channel、context以及sync包,通过这三者,我们完全可以达到完美控制协程运行的目的。
2021年09月03日 在Go中,每个请求的request在单独的协程中进行,处理一个request也可能涉及多个协程之间的交互。一个请求衍生出的各个协程之间需要满足一定的约束关系,以实现一些诸如有效期,中止routine树,传递请求全局变量之类的功能。于是Go为我们提供一个解决方案,标准context包。使用context可以使开发者方便的在这些协程之间传递request相关的数据、取消协程的signal或截止时间等。
2021年09月03日
2021年09月03日 所谓中间件,就是连接上下级不同功能的函数或者软件,通常进行一些包裹函数的行为,为被包裹函数提供添加一些功能或行为。
2021年09月03日
2021年09月03日 标准库http提供了Handler接口,用于开发者实现自己的handler。只要实现接口的ServeHTTP方法即可。
2021年09月03日 HTTP Server服务端用来接收并响应HTTP Client端发出的HTTP Request请求,是net/http包中非常重要和关键的一个功能。我们在Go语言中简单就能搭建HTTP服务器,就是因为它的存在。
2021年09月03日 HTTP Client客户端主要用来发送HTTP Request请求给HTTP Server服务端,比如以Do方法,Get方法以及Post或PostForm方法发送HTTP Request请求。
2021年09月03日 HTTP Response响应是由HTTP Server服务端发出的消息,用来响应HTTP Client端发出的HTTP Request请求。发出的消息包括起始行, Headers, Body。
2021年09月03日 HTTP Request请求是由客户端发出的消息, 用来使服务器执行动作.发出的消息包括起始行, Headers, Body。
2021年09月03日
2021年09月03日
2021年09月03日
2021年09月03日