GO语言入门—工程实践

本文深入探讨Go语言的并发模型,介绍Goroutine和协程通信,通过通道实现并发安全。同时,讲解Go语言依赖管理的发展,从GOPATH到GoVendor再到GoModule,分析其优缺点。此外,还涵盖了单元测试和基准测试的重要性,并提供项目实战案例,涉及需求分析、服务端功能实现等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.语言进阶—从并发编程的视角了解GO高性能的本质

1.1并发VS并行

1.并发 2.并行

1.2Goroutine

1.3协程通信

 通道即为:channel

示例详见:从零开始Golang开发(5)_芙蓉铁蛋的博客-CSDN博客

并发安全

用time sleep暴力方法 

用waitgroup实现并发同步

2.依赖管理—了解Go语言依赖管理的演进路线

2.1背景

在开发项目中,要学会站在巨人的肩膀上!

 go依赖管理的三个阶段

 2.2GOPATH

弊端:

 2.3Go Vendor

 弊端:

 无法控制依赖的版本

更新项目过后可能出现依赖冲突,导致编译错误

2.4  Go Module

 依赖管理三要素

依赖配置:

version定义

major:大版本,可以不兼容

minor:在major下版本兼容

patch:修复bug

依赖配置 indirect

依赖配置 incompatible

对于没有go.mod文件并且主版本2+的依赖,会+incompatible

依赖分发

为解决问题:

 工具-go get:

go-mod

3.测试—从单元测试出发、提升质量意识

质量就是”生命“!

测试:从上到下,覆盖率逐层增大,成本逐层降低

3.1单元测试

测试规则:

3.2单元测试覆盖率:

提升覆盖率

3.3Tips: 

3.4单元测试依赖

mock机制

3.5基准测试 

例子:

优化

4.项目实战—通过项目需、需求拆解、逻辑设计、代码实践等感受真实项目开发

单页面服务端功能

4.1需求分析 

4.2用例分析

 ER图

4.3分层结构

4.4组件工具 

4.5Reposity 

查询:

查询操作

 4.6Service

 4.7Controller

4.8Router

相关链接:

Go开发的Go开发—即时通讯项目(包含完整源码和分析):

分析:Go开发—即时通讯项目(包含完整源码和分析)_芙蓉铁蛋的博客-CSDN博客

源码:Ming-XMU/Go-IM-project (github.com)

Go开发的两个练手应用:Go开发的两个小应用_芙蓉铁蛋的博客-CSDN博客

Go语言基础:Ming-XMU/Go-IM-project (github.com)

从零开始Golang开发(1)_芙蓉铁蛋的博客-CSDN博客

从零开始Golang开发(2)_芙蓉铁蛋的博客-CSDN博客

从零开始Golang开发(3)_芙蓉铁蛋的博客-CSDN博客

从零开始Golang开发(4)_芙蓉铁蛋的博客-CSDN博客

从零开始Golang开发(5)_芙蓉铁蛋的博客-CSDN博客

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

裁道友不裁贫道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值