golang项目常用框架技术选型
做一个golang项目,免不了需要选型框架,下面整理了一份常用的技术选型框架。
Go HTTP Wen框架
gin: Gin是一个用Go(Golang)编写的HTTP Web框架。其中其内部使用的路由是httprouter(性能非常好的路由框架).
Go Rest API文档管理
gin-swagger:通过注释自动生成swagger api文档
Go ORM对象关系映射框架
gorm:Golang梦幻般的ORM库旨在让开发人员更加友好
Go 命令行框架工具集
cobra简介:A Commander for modern Go CLI interactions(现代Go CLI交互的命令行工具集)
使用Cobra的知名项目如下:
- Kubernetes
- Hugo
- rkt
- etcd
- Moby (former Docker)
- Docker (distribution)
- OpenShift
- Delve
- GopherJS
- CockroachDB
- Bleve
- ProjectAtomic (enterprise)
- Giant Swarm’s gsctl
- Nanobox/Nanopack
- rclone
- nehm
- Pouch
Go应用程序完整配置解决方案:Viper
Viper是Go应用程序的完整配置解决方案。它旨在在应用程序中工作,并可以处理所有类型的配置需求和格式。它支持:
- 设置默认值
- 从JSON,TOML,YAML,HCL和Java属性配置文件中读取
- 实时观看和重新读取配置文件(可选)
- 从环境变量中读取
- 从远程配置系统(etcd或Consul)读取,并观察变化
- 从命令行标志读取
- 从缓冲区读取
- 设置显式值
Viper可以被认为是所有应用程序配置需求的注册表。
许多Go项目构建都是用Viper作为配置解决方案,比如:
- Hugo
- Docker Notary
- Kubernetes
viper的github地址
Go 网络爬虫分析工具
goquery: 是用来网页解析的一个比较好库