摘要:
## 简介 处理大量并发是 Go 语言的一大优势。语言内置了方便的并发语法,可以非常方便的创建很多个轻量级的 goroutine 并发处理任务。相比于创建多个线程,goroutine 更轻量、资源占用更少、切换速度更快、无线程上下文切换开销更少。但是受限于资源总量,系统中能够创建的 goroutin 阅读全文
posted @ 2023-09-28 14:21
larkwins
阅读(176)
评论(0)
推荐(0)
摘要:
## 简介 反射是一种机制,在编译时不知道具体类型的情况下,可以透视结构的组成、更新值。使用反射,可以让我们编写出能统一处理所有类型的代码。甚至是编写这部分代码时还不存在的类型。一个具体的例子就是`fmt.Println()`方法,可以打印出我们自定义的结构类型。 虽然,一般来说都不建议在代码中使用 阅读全文
posted @ 2023-09-28 14:21
larkwins
阅读(133)
评论(0)
推荐(0)
摘要:
## 简介 [`fasttemplate`](https://github.com/valyala/fasttemplate)是一个比较简单、易用的小型模板库。`fasttemplate`的作者[valyala](https://github.com/valyala)另外还开源了不少优秀的库,如大名 阅读全文
posted @ 2023-09-28 14:21
larkwins
阅读(54)
评论(0)
推荐(0)
摘要:
## 简介 [`gotalk`](https://github.com/rsms/gotalk)专注于进程间的通信,致力于简化通信协议和流程。同时它: - 提供简洁、清晰的 API; - 支持 TCP,WebSocket 等协议; - 采用非常简单而又高效的传输协议格式,便于抓包调试; - 内置了 阅读全文
posted @ 2023-09-28 14:21
larkwins
阅读(65)
评论(0)
推荐(0)
摘要:
## 简介 在编程开发中,我们经常会需要**频繁**创建和销毁同类对象的情形。这样的操作很可能会对性能造成影响。这时,常用的优化手段就是使用**对象池**(object pool)。需要创建对象时,我们先从对象池中查找。如果有空闲对象,则从池中移除这个对象并将其返回给调用者使用。只有在池中无空闲对象 阅读全文
posted @ 2023-09-28 14:21
larkwins
阅读(114)
评论(0)
推荐(0)
摘要:
## 简介 [ReactiveX](http://reactivex.io/#),简称为 Rx,是一个异步编程的 API。与 **callback**(回调)、**promise**(JS 提供这种方式)和 **deferred**(Python 的 twisted 网络编程库就是使用这种方式)这些 阅读全文
posted @ 2023-09-28 14:21
larkwins
阅读(98)
评论(0)
推荐(0)
摘要:
## 简介 [goquery](https://github.com/PuerkitoBio/goquery)是用 Go 语言编写的一个类似于 jQuery 的库。它基于 HTML 解析库[net/html](https://pkg.go.dev/golang.org/x/net/html)和 CS 阅读全文
posted @ 2023-09-28 14:21
larkwins
阅读(250)
评论(0)
推荐(0)
摘要:
## 简介 [`air`](github.com/cosmtrek/air)是 Go 语言的热加载工具,它可以监听文件或目录的变化,自动编译,重启程序。大大提高开发期的工作效率。 ## 快速使用 本文代码使用 Go Modules,在 Mac 上运行。 先创建目录并初始化: ```bash $ mk 阅读全文
posted @ 2023-09-28 14:21
larkwins
阅读(199)
评论(0)
推荐(0)
摘要:
## 简介 最近在整理我们项目代码的时候,发现有很多活动的代码在结构和提供的功能上都非常相似。为了方便今后的开发,我花了一点时间编写了一个生成代码框架的工具,最大程度地降低重复劳动。代码本身并不复杂,且与项目代码关联性较大,这里就不展开介绍了。在这个过程中,我发现 Go 标准的模板库`text/te 阅读全文
posted @ 2023-09-28 14:20
larkwins
阅读(55)
评论(0)
推荐(0)
摘要:
## 简介 最近在整理我们项目代码的时候,发现有很多活动的代码在结构和提供的功能上都非常相似。为了方便今后的开发,我花了一点时间编写了一个生成代码框架的工具,最大程度地降低重复劳动。代码本身并不复杂,且与项目代码关联性较大,这里就不展开介绍了。在这个过程中,我发现 Go 标准的模板库`text/te 阅读全文
posted @ 2023-09-28 14:20
larkwins
阅读(89)
评论(0)
推荐(0)