/go-fragments

go编程实践代码示例

Primary LanguageGoApache License 2.0Apache-2.0

go-fragments

golang示例代码片段,基于 go mod 模式编写,go版本1.16。

代码导航

1、通过channel进行协程间通信

2、配置文件解析

2.1、配置文件解析(goconfig)

2.2、配置文件解析(toml)

2.3、配置文件解析(viper)_推荐

3、通过context进行协程控制和信息传递

4、业界准标准的异常处理包errors

5、异常捕获与恢复(defer、panic与recover)

6、文件操作示例

7、go中的finally实现(正确使用defer)

8、函数式编程实践

9、泛型的实现与应用(go1.17前无泛型)

9.1、模拟实现泛型的map/reduce/filer

9.1、泛型的map/reduce/filter实现的健壮版本

10、http的应用示例

11、interface接口相关

12、日志处理

12.1、通过log输出std日志和file日志

12.2、logrus模块的应用

12.3、基于logrus实现滚动日志

13、方法中指针参数和非指针参数的区别

14、reflect反射的应用

15、通过runtime获取系统信息(cpu、操作系统等)

16、基于http搭建服务端

17、使用sync模块实现协程同步

18、通过net模块实现tcp服务端和客户端

19、使用gin模块进行http服务端开发

工程构建

1、go工程的交叉编译(跨平台编译)