一个计算机技术爱好者与学习者

0%

Golang Context简介

在Go语言中,context 是一个在Go语言程序中传递截止时间、取消信号以及其它请求作用域的值的包。
context 包为并发操作提供了一种统一的方式来传递取消信号和元数据。经常用于控制不同Go协程之间的超时和取消操作,管理函数或方法的生命周期。

参考文档:上下文Context

阅读全文 »

Golang协程简介

在Go语言中,协程(coroutine)是通过goroutine实现的。
goroutine是Go运行时管理的轻量级线程,由Go运行时环境调度,不是操作系统层面的线程。goroutine使得并发编程变得简洁易懂。

参考文档:

阅读全文 »

前言

在实际的开发中,操作数据库是必不可少的环节。
Go语言通过标准库database/sql以及相对应的数据库驱动第三方库,让数据库操作变得简明而强大。
本文中,我们将会学习安装MySQL数据库驱动,以及如何进行增删查改(CRUD)操作。

阅读全文 »

前言

Go 官方没有项目布局(项目结构)要求,但是社区推崇清晰、模块化的布局,对于中大型项目推荐使用一些最佳实践。

如果我们尝试学习 Go,或者我们正在为自己建立一个 PoC 或一个玩具项目,关心项目布局是没啥必要的。建议从简单的事情开始,一个 main.go 文件绰绰有余。
随着项目的增长,我们需要代码结构良好非常重要,否则我们最终会得到一个凌乱的代码,这其中就包含大量隐藏的依赖项和全局状态。这时候,我们就需要考虑项目布局和管理包/库的方法。

也就是说,项目布局应该取决于项目的大小、复杂程度、团队偏好和管理需求。

本文中,我们学习Go项目布局的最佳实践。

参考文档:

阅读全文 »