概述 本节课程主要分为四个方面:
- 并发编程
- 依赖管理
- 单元测试
- 项目实战
详述
罗列课程中涉及到的概念和相关资料,对于不熟悉的知识点,希望同学们可以提前查询预习,届时跟上直播课程进度。 【必须】课程内容相关代码链接:github.com/Moonlight-Z…
并发编程
协程Goroutine 通道Channel 锁Lock pkg.go.dev/sync 线程同步WaitGroup pkg.go.dev/sync
属于编程进阶内容,考虑到工程项目的可用性和可靠性,工程实践中经常会用到。
依赖管理
Gopath Go Vendor Go Module : go.dev/blog/using-…
了解Go依赖管理演进的历程,通过课程学习以及课后实践能能够熟练使用go module 管理依赖。
单元测试 单元测试概念和规则:go.dev/doc/tutoria… Mock测试:github.com/bouk/monkey 基准测试:pkg.go.dev/testing#hdr…
项目实战
需求模型来源
青训营话题页forum.juejin.cn/youthcamp/p…
需求
- 实现一个展示话题(标题,文字描述)和回帖列表的后端http接口;
- 本地文件存储数据
组件及技术点
-
web框架:Gin - github.com/gin-gonic/g…
- 了解go web框架的简单使用
-
分层结构设计:github.com/bxcodec/go-…
- 了解分层设计的概念
-
文件操作:读文件pkg.go.dev/io
-
数据查询:索引www.baike.com/wikiid/5527…
课后实践
- 支持对话题发布回帖。
- 回帖id生成需要保证不重复、唯一性。
- 新加回帖追加到本地文件,同时需要更新索引,注意Map的并发安全问题 。
引用