Golang 开发技能图谱

优质
小牛编辑
131浏览
2023-12-01

Go 语言环境搭建

  • Go 安装
  • GOPATH 与工作空间
  • Go 命令
  • Go开发工具

GO 语言编程基础

  • 关键词和语法(Language Syntax)
  • 数据类型(Arrays, Slices and Maps)
  • 流程控制(if/else,for/range)
  • Go 函数(Function)
  • 面向对象(Methods, Interfaces and Embedding)
  • 包处理(Packaging and Exporting)
  • Go 指针(Using Pointers)
  • 程序测试(Testing and Debugging)
  • 对象合成(Composition)
  • 错误处理(Error Handling)
  • 标准库(Standard Library)
  • 反射(Reflection)

并发编程

  • Go 并发基础(Concurrency, Race Conditions and Channels)
  • 并发模式(Concurrency Patterns)

Go Web 编程

  • Web基础
    • Web工作方式
    • Go 搭建一个简单的web服务
    • Go 的 HTTP 包详解
  • 表单
    • 处理表单的输入
    • 验证表单的输入
    • 预防跨站脚本
    • 防止多次递交表单
    • 处理文件上传
  • 数据库
    • database/sql接口
    • 使用MySQL数据库
    • 使用PostgreSQL数据库
    • 使用beedb库进行ORM开发
    • NOSQL数据库操作
  • Session 和数据存储
    • Session 和 Cookie
    • Go 如何使用 Session
    • Session 存储
    • 预防 Session 劫持
  • 文本文件处理
    • XML 处理
    • JSON 处理
    • 正则处理
    • 模板处理
    • 文件操作
    • 字符串处理
  • Web服务
    • Socket 编程
    • WebSocket
    • REST
    • RPC
  • 安全与加密
    • 预防 CSRF 攻击
    • 确保输入过滤
    • 避免 XSS 攻击
    • 避免 SQL 注入
    • 存储密码
    • 加密和解密数据
  • 国际化和本地化
    • 设置默认地区
    • 本地化资源
    • 国际化站点
  • 错误处理,调试和测试
    • 错误处理
    • 使用GDB调试
    • Go怎么写测试用例
  • 部署与维护
    • 应用日志
    • 网站错误处理
    • 应用部署
    • 备份和恢复
  • 如何设计一个Web框架 
    • 项目规划 
    • 自定义路由器设计
    • Controller 设计
    • 日志和配置设计
    • 实现博客的增删改
  • 扩展Web框架
    • 静态文件支持
    • Session 支持
    • 表单支持
    • 用户认证
    • 多语言支持
    • pprof支持

Go 应用

  • Docker
  • Bee Go
  • NSQ
  • NewSQL

Go 实战案例