# go 学习之路
从hello world 开始到了解常用的框架,最终可以自己轻松用Go 写项目,来试试吧
### 涉及的内容包含如下表格
| 模板 | 功能点 | 状态 |
| ------ | -------------- | -------- |
| 基础 | 基础语法 | 完成 |
| 基础 | 数据类型 | 完成 |
| 基础 | 指针 | 完成 |
| 基础 | 面向对象 | 完成 |
| 基础 | 反射 | 完成 |
| 基础 | 单元测试 | 完成 |
| 基础 | 日志处理 | 完成 |
| 进阶 | Http请求 | 完成 |
| 进阶 | Session | 完成 |
| 进阶 | Cookie | 完成 |
| 进阶 | Header | 完成 |
| 进阶 | Go-Mysql | 完成 |
| 进阶 | Go-Redis | 完成 |
| 进阶 | Go-MongoDB| 完成 |
| 进阶 | Go-xorm | 完成 |
| 进阶 | Go-gorm | 完成 |
| 进阶 | 文件处理 | 完成 |
| 高级 | 并发编程 | 完成 |
| 高级 | Socket | 完成 |
| 高级 | Gin 框架 | 完成 |
| 高级 | BeeGo 框架 | 完成 |
| 高级 | Iris 框架 | 完成 |
| 高级 | Echo 框架 | 完成 |
| 实战 | Gin 框架-vue | 完成 |
| 实战 | BeeGo 框架-vue | 完成 |
| 实战 | 微服务 | 进行中 |
### 项目运行环境
| go | 1.15+ |
| ------------ | ------ |
| mysql | 5.7+ |
| redis | 6.2.1 |
| mongodb | latest |
### 阅读地址
[阅读地址](https://www.kancloud.cn/xuyisu/goweb/2635897)
### 代码运行
```go
git clonne https://github.com/xuyisu/fw-go-learning.git 或 https://gitee.com/gitxys/fw-go-learning.git
cd fw-go-learning
go mod download
```
**star一下,支持一下作者**
go 学习(成长之路) 这是一本学习Go 语言的教程,设计基础语法、redis、m-fw-go-learning.zip
需积分: 0 26 浏览量
更新于2023-11-06
收藏 1.19MB ZIP 举报
《Go学习(成长之路)》是一本全面介绍Go语言的教程,旨在帮助初学者和有经验的开发者深入了解Go语言,并掌握其在实际项目中的应用。教程涵盖了Go语言的基础语法、Redis集成以及一个名为"m-fw-go-learning"的框架或模块的学习内容。下面,我们将详细探讨这些知识点。
让我们来深入学习Go语言的基础语法。Go,也被称为Golang,是由Google开发的一种静态类型的编译型语言。它的设计目标是简洁、高效和可并发性。在Go语言中,我们会有以下重点内容:
1. **变量声明**:Go语言使用`var`关键字声明变量,可以同时声明并初始化多个变量。它还支持类型推断,即在没有明确指定类型的情况下,编译器会根据初始值推断类型。
2. **函数**:Go语言的函数定义简单明了,支持多返回值。此外,Go还有匿名函数(也称为闭包)和函数指针。
3. **结构体与接口**:结构体用于封装相关数据,接口则提供了一种多态实现。Go语言的接口通过“鸭子类型”实现,只需满足接口方法即可。
4. **并发编程**:Go语言的并发机制基于goroutines和channels。Goroutines是一种轻量级线程,而channels则用于在goroutines间安全地通信。
5. **包与导入**:Go语言通过包进行组织,每个源文件都属于一个包。`import`关键字用于引入其他包的功能。
接下来,我们关注的是Go语言与Redis的集成。Redis是一个高性能的键值存储系统,常用于数据库、缓存和消息中间件。在Go中,我们可以使用第三方库如`go-redis`来操作Redis。主要操作包括:
1. **连接管理**:建立与Redis服务器的连接,处理连接池以优化性能。
2. **基本命令**:执行诸如设置(SET)、获取(GET)、删除(DEL)等基本操作。
3. **事务处理**:利用`MULTI`、`EXEC`命令实现原子操作。
4. **发布/订阅**:通过`PUBLISH`和`SUBSCRIBE`命令实现消息传递。
5. **持久化与复制**:了解如何配置和使用Redis的持久化机制(如RDB和AOF),以及主从复制。
我们来看看`m-fw-go-learning`,这是一个可能的Go语言微服务框架或模块。它可能包含如下组件:
1. **路由管理**:用于处理HTTP请求,如`gorilla/mux`库提供的功能。
2. **依赖注入**:提高代码可测试性和解耦,如使用`inject`或`wire`库。
3. **错误处理**:优雅地处理和报告错误,通常通过自定义中间件实现。
4. **中间件**:用于添加跨请求的功能,如日志记录、身份验证、限流等。
5. **数据库访问**:封装对数据库的操作,可能包括ORM(对象关系映射)库,如`gorm`。
6. **API版本控制**:方便地管理不同版本的API接口。
7. **配置管理**:读取和管理应用程序的配置,如使用`viper`库。
通过这个教程,读者将不仅能够熟练掌握Go语言的基本用法,还能了解到如何将其与Redis集成,并能够使用`m-fw-go-learning`这样的框架构建自己的服务。这是一条全面而深入的成长之路,对于想要在Go语言开发领域提升自己的程序员来说,是宝贵的资源。
武昌库里写JAVA
- 粉丝: 7010
- 资源: 3205
最新资源
- 年终奖雷区测试及注意说明.xls
- 谨防年终奖发放的“雷区”.xls
- 年终奖发放税筹、技巧及注意事项.pptx
- 六种薪酬模式下销售员工的年终奖发放策略(技巧篇).doc
- 员工年终奖分配方案(规范行政文件).doc
- 2016年终奖税率表(清晰一览表).docx
- 个税最佳配置表-月薪及年终奖.XLS
- 【化工行业】化学原料及成品制造业年终奖金制度.doc
- 【制造行业】绩效奖金、年终奖金发放办法(通用模板).docx
- 高管层年终奖避税测算表(含各税点测算).xlsx
- 工资年终奖调节试算表(模板).xls
- (3500)年终奖个税自动计算表.xls
- 一次性年终奖审批及发放明细表.xls
- 年终奖、年薪差个人所得税筹划方案测算表.xls
- 绩效奖金发放表(模板样式).xls
- 税前税后工资VS年终奖计算表(灵活-简单).xlsx