Go Web 编程

goweb.png

基于 Golang 进行 Web 编程,包含 Web 服务器、路由、请求、响应、视图、数据库交互、Web 服务、测试、部署等模块。

快速入门

入门项目

声明:本项目基于 Go Web Programming 一书中的 chitchat 做的二次开发,在原项目基础上将数据库调整为 MySQL、路由器调整为了 gorilla/mux、调整了整体目录结构、新增了配置文件单例模式获取、本地化编程以及应用部署流程。完整项目代码已提交到 Github 仓库:https://github.com/nonfu/chitchat

Web 基础

路由分发

请求处理

视图模板

  • 模板与模板引擎
  • 指令
  • 数据渲染
  • 函数调用
  • 上下文感知
  • 模板嵌套

其他技术

  • 错误处理
  • 日志
  • 安全相关(XSS/CSRF/HTTPS)
  • 性能相关(HTTP/2)

数据保存

  • 内存存储
  • 文件存储
  • 数据库存储
  • ORM(sqlx/gorm)

Web 服务

  • SOAP+XML
  • REST+JSON
  • RPC

测试系列

  • 单元测试
  • HTTP测试
  • 基准测试
  • 依赖注入与模拟
  • 第三方测试包

并发编程

  • Go 并发编程基础
  • Go 并发编程模式
  • 并发编程在 Go Web 编程中的使用

应用部署

  • 部署到服务器
  • 云计算
  • 部署到Docker

开发框架

  • gin
  • beego

实战项目

公众号&社群

该系列文章会同步到以下微信公众号:

学院君公众号

如果学习过程中有什么问题,欢迎加入社群与我讨论:

Go 语言研习社]

订阅服务

如果你觉得本系列教程对你有所帮助,可以选择购买「学院君订阅服务」对学院君进行支持,订阅内容主要包含以下增值服务:

  • 程序员内功修炼系列:俗话说,基础不牢,地动山摇。学院君特别提供程序员内功修炼系列教程(持续更新),助力大家对底层原理的掌握,做到知其然,知其所以然,内容涵盖数据结构、算法、网络协议、微服务、Nginx、MySQL、Linux底层、分布式、大数据和人工智能等,详细内容计划点击这里查看
  • PHP/Golang 面试题系列:每天发布一个 PHP/Golang 面试题供大家讨论,隔天作答,助力你的面试和学习之旅;
  • PHP/Laravel/Golang 日常学习 & 开发咨询:你可以就 PHP/Laravel/Golang 日常学习和开发过程中的任何问题与学院君进行一对一交流和讨论,也可以就项目需求设计与实现向学院君咨询,对于环境问题,可提供远程协助;
  • 专属社群:目前包括知识星球/专属微信群。

你可以点击下面的按钮扫码购买,系统会自动将你的账号升级为学院君订阅用户:

一键升级为订阅用户

上一篇: 没有上一篇了

下一篇: 快速入门:创建第一个 Web 应用