Go
Go 私有包的构建和使用
· ☕ 2 分钟
1. 创建一个 Go Modules 项目 创建目录 1 2 mkdir go-test cd go-test 初始化包 1 2 3 4 5 go mod init gitlab.private.com/shaowenchen/go-test go: creating new go.mod: module gitlab.private.com/shaowenchen/go-test go: to add module requirements and sums: go mod tidy 添加业务代码 main.go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package main import ( "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "hello world.", }) }) r.Run() } 下载依赖到 vendor 1 2 go mod tidy go mod vendor 本地运行 1 2 3 4 5 go run

实用的算法之布隆过滤
· ☕ 4 分钟
1. 什么是布隆过滤 布隆过滤(Bloom Filter)是布隆在 1970 年提出的一种数据结构。 将元素(x、y、z)通过一系列函数,映射到一个二进制向量(0101 序列),用于快速判断元素 w 是否在一个集合当中。如下图(来自维基百科): 相较于使用单个映射函数

一起来学 Go --(6)Interface
· ☕ 3 分钟
1. 面向接口编程 1.1 特征 面向接口编程,强调的是模块之间通过接口进行交互。首先,调用方指定一组方法签名,然后,由被调用方实现这组方法。 接口编程与其他编程显著不同的一点是,接口编程关注的是方法,而不是属性。在很多的编程场景中,方法是围绕属性进行定义

一起来学 Go --(5)Goroutine 和 Channel
· ☕ 5 分钟
1. Go 中的并发模型 1.1 通信模型 CSP CSP 全称 Communicating Sequential Process ,通信顺序进程,描述的是一种并发通信模型。Process 可以使用很多个 Channel ,而 Channel 不关心谁在使用它,只负责收发数据。 Go 社区中,有一句非常著名的论断: 不要通过共享内存来通信,要通过通信来共享内存。意思是,不

什么是函数式编程
· ☕ 3 分钟
1. 什么是编程范式 编程范式是一类典型的编程规范。一方面提供了工程师对实体的建模方法,将物理世界与代码关联起来;另一方面也提供了工程师对代码程序的理解思路。 编程范式与编程语言属于多对多的关系。一种编程语言中,可能包含多种编程范式,例如,C++ 包