Go1.17探索与泛型尝鲜

Go 团队每年发布两次大版本,一般是在二月份和八月份发布。今天中午,Go1.17也是如期而至,带来各种优化和新功能,但是似乎泛型还没支持,但泛型的实现和测试已经包含在代码中,只是没有默认开启对泛型的支持,这也是为 Go1.18 版本泛型正式实装做铺垫。这样意味着最早在 2022年2月,我们就可以正式使用泛型进行代码开发了。 2021年8月21日,Go泛型在gotip中已经默认启用

发布于 Golang

Go并发下的Context工作流程

什么是Context?读到很多关于Context(上下文)的术语,如应用上下文,请求上下文等,查阅资料但没有得到理解?有没有比较好的解释? Context 指做一件事情的背景/环境/上下文/所需要的必要的数据。

发布于 Golang

Golang位操作

之前学习语言一直忽略的就是所有语言中关于位操作,觉得用处并不多,可能用到也非常简单的用法,但是其实它们的作用还是非常大的。以下是一些Golang位操作符的基础:

发布于 Golang

Golang slice & string 重用

相比于 c/c++,golang 的一个很大的改进就是引入了 gc 机制,不再需要用户自己管理内存,大大减少了程序由于内存泄露而引入的 bug,但是同时 gc 也带来了额外的性能开销,有时甚至会因为使用不当,导致 gc 成为性能瓶颈,所以使用golang开发的时候,应注意对象的重用,以减少 gc 的压力。

发布于 Golang

sync.RWMutex - 并发读写问题

当多个线程访问相同的数据时, 就会出现并发读写问题(reader-writer problems)。线程访问数据有两种访问类型: 读线程 reader: 只进行数据读取 写线程 writer: 进行数据修改

发布于 Golang

Golang面向对象特性

“Golang是不是支持面向对象”这本身就是一个值得思考的话题,官方文档给出的答案是“Yes and no”

发布于 Golang