http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/index.html

基础语法

《Go By Example》
《GO语言圣经》

  • 第一章:入门

    • Helloworld
    • 命令行参数
    • 查找重复的行
    • GIF动画
    • 获取URL
    • 并发获取多个URL
    • Web服务
  • 第二章:程序结构
    • 命名
    • 声明
    • 变量
    • 赋值
    • 类型
    • 包和文件
    • 作用域
  • 第三章:基础数据类型
    • 整数
    • 浮点数
    • 复数
    • 布尔型
    • 字符串
    • 常量
  • 第四章:复合数据类型
    • 数组
    • Slice(切片)
    • Map
    • 结构体
    • JSON
    • 文本和HTML
  • 第五章:函数
    • 函数声明
    • 递归
    • 多返回值
    • 错误
    • 函数值
    • 匿名函数
    • 可变参数
    • Deferred函数
    • Panic异常
    • Recover捕获异常
  • 第六章:方法
    • 方法声明
    • 基于指针对象的方法
    • 通过嵌入结构提来扩展类型
    • 方法值和方法表达式
    • 示例:Bit数组
    • 封装
  • 第七章:接口
    • 接口约定
    • 接口类型
    • 实现接口的条件
    • flaq.Value接口
    • 接口值
    • sort.interface接口
    • http.Handler接口
    • error接口
    • 示例:表达式求值
    • 类型断言
    • 基于类型断言区别错误类型
    • 通过类型断言询问行为
    • 类型开关
    • 示例:基于标记的XML解码
  • 第八章:Goroutines和Channels
    • Goroutines
    • 示例:并发的Clock服务
    • 示例:示例: 并发的Echo服务
    • Channels
    • 并发的循环
    • 示例: 并发的Web爬虫
    • 基于select的多路复用
    • 示例: 并发的字典遍历
    • 并发的退出
    • 示例:聊天服务
  • 第九章:基于共享变量的并发
    • 竞争条件
    • sync.Mutex互斥锁
    • sync.RWMutex读写锁
    • 内存同步
    • sync.Once初始化
    • 竞争条件检测
    • 示例: 并发的非阻塞缓存
    • Goroutines和线程
  • 第十章:包和工具
    • 包简介
    • 导入路径
    • 包声明
    • 导入声明
    • 包的匿名导入
    • 包和命名
    • 工具
  • 第十章:测试
    • go test
    • 测试函数
    • 测试覆盖率
    • 基准测试
    • 剖析
    • 示例函数
  • 第十二章:反射
    • 为何需要反射
    • reflect.Type和reflect.Value
    • Display递归打印
    • 示例: 编码S表达式
    • 通过reflect.Value修改值
    • 获取结构体字段标识
    • 显示一个类型的方法集
    • 几点忠告
  • 第十三章:底层编程
    • unsafe.Sizeof, Alignof 和 Offsetof
    • unsafe.Pointer
    • 示例: 深度相等判断
    • 通过cgo调用C代码
    • 几点忠告

网络编程

《Nettwork Programming》

  • 体系结构

    • 协议层
    • 网络
    • 网关
    • 数据包
    • 连接模型
    • 通信模型
    • 分布式通信模型
    • C/S系统
    • C/S应用
    • 分布式服务端
    • 通信Flow
    • 分布式组件
    • 中间件模型
    • 持久处理
    • 失败节点
    • Acceptance Factors
    • 透明性
    • 分布式计算的八个误区
  • Go语言概览
    • 类型
    • 多线程
    • 类型转换
    • 声明
    • GOPATH
    • 运行Go程序
    • 标准库
    • 错误值
  • 第三章:Socket级别编程
    • TCP/IP栈
    • 互联网地址
    • IP地址类型
    • 服务
    • TCP Socket
    • 控制TCP连接
    • UDP数据报
    • 监听多个Socket的服务
    • Conn, PacketConn, 和Listener 类型
    • 原始Socket和IPConn类型
  • 第四章:数据序列化
    • 结构化数据
    • 双方协定
    • 自描述数据
    • ASN.1
    • JSON
    • Gob包
    • 将二进制数据编码成字符串
    • Protocol Buffers
  • 第五章:应用级别协议
    • 协议设计
    • 你为什么应该担忧?
    • 版本控制
    • 消息格式
    • 数据格式
    • 一个简单的样例
    • 状态信息
  • 第六章:管理字符集和编码
    • 定义
    • ASCII
    • ISO 8859
    • Unicode
    • UTF-8,Go,和Runes
    • UTF-16和GO
    • Unicode Cotchas
    • ISO 8859 和 Go
    • 其他字符集和Go
  • 第七章:安全
    • ISO安全体系
    • 数据完整
    • 对称密钥加密
    • 公钥加密
    • X.509验证
  • 第八章:HTTP
    • URLs和资源
    • 简单用户代理(User Agent)
    • 配置HTTP请求
    • Client对象
    • 代理处理(proxy)
    • 通过Client进行HTTPS连接
    • 服务器
    • HTTPS
  • 第九章:模板
    • 插入对象值
    • 管道
    • 定义函数
    • 变量
    • 条件语句
    • HTML/Template包
  • 第十章:一个完整的Web服务器
    • 浏览网站的流程图
    • 浏览文件
    • 基础服务器
    • listFlashCards函数
    • manageFlashCards函数
    • 中国字典
    • Flashcards集合
    • 解决声调
    • ListWords函数
    • showFlashCards函数
    • 在浏览器上的展现
    • 运行这个服务器
  • 第十一章:HTML
    • Go语言的HTML/Template包
    • Tokenizing HTML
    • XHTML/HTML
    • JSON
  • 第十二章:XML
    • 解析XML
    • Unmarshalling XML
    • Marshalling XML
    • XHTML
    • HTML
  • 第十三章:
    • 远程进程调用
    • Go语言的RPC
    • JSON
  • 第十四章:REST
    • URIs和资源
    • 表现
    • REST 动词
    • 无状态
    • 应用状态引擎的超媒体(HATEOAS)
    • 链接表示
    • Transactions with REST
    • The Richardson Maturity Model
    • Flashcards Revisited
    • The Demultiplexer (Demuxer)
    • Content Negotiation
    • Handling Other URLs
    • The Complete Server
    • Client
    • 使用REST还是RPC
  • 第十五章:WebSocket
    • websocket服务器
    • The Go Sub-Repository Package
    • The Gorilla Package

语言技巧

《Go in Practice》

  • 第一部分:基础

    • 第一章:走进Go

      • Go是什么
      • Go中值得注意的地方
        • 多返回值
        • 现代标准库
        • Concurrency with goroutines and channels
        • Go工具链:不仅仅是一个编程语言
      • 众多语言中的Go
        • C和Go
        • Java和Go
        • Python、PHP和Go
        • Javascript、Node.js和Go
      • 开始运行Go
      • 你好,Go
    • 第二章:基础
      • 命令行程序
      • 处理配置
      • 现实世界的Web服务
    • 第三章:Go中的Concurrency
      • 理解Go的Concurrency模型
      • 使用goroutines
      • 使用channels
  • 第二部分:多彩的应用
    • 第四章:处理error和panic

      • Error处理
      • panic系统
    • 第五章:调试和测试
      • 定位bug
      • 日志
      • 访问栈追踪(stack trace)
      • 测试
      • 性能测试
  • 第三部分:应用接口
    • 第六章:HTML和Email模板

      • HTML模板
      • 为Email使用模板
    • 第七章:服务和接收资源和表单
      • 提供静态内容服务
      • 处理表单请求
    • 第八章:Web服务
      • REST APIs
      • 传递和处理HTTP error
      • 解析和映射JSON
      • API版本控制
  • 第四部分:应用云端部署
    • 第九章:使用云服务

      • 云集算是什么
      • 管理云服务
      • 云服务器上运行你的程序
    • 第十章:云服务之间的通信
      • 微服务和高可用
      • 服务间通信
    • 第十一章:反射和代码生成
      • 反射的三个特征
      • Structs、tags、和annotations
      • 通过Go代码生成Go代码

Web编程

https://www.gitbook.com/book/wizardforcel/build-web-application-with-golang/details
《Go Web Programming》

  • 第一部分:Go语言和Web应用

    • 第一章:Go语言和Web应用

      • 使用Go开发Web应用
      • Web应用是怎样工作
      • HTTP简介
      • Web应用的出现
      • HTTP请求(request)
      • HTTP响应(response)
      • URI
      • HTTP/2简介
      • 一个Web'应用的组成部分
      • 你好,Go
    • 第二章:Go实现ChitChat
      • 我们来聊天吧
      • 应用设计
      • 数据模型
      • 接收和处理请求
      • 通过模板生成HTML响应
      • 安装PostgreSQL
      • 数据库接口
      • 启动服务器
      • 组合封装起来
  • 第二部分:基础Web应用
    • 第三章:handling请求

      • Go的net/http库
      • Go服务
      • Handlers和handler函数
      • 使用HTTP/2
    • 第四章:processing请求
      • 请求和响应
      • HTML表单和Go
      • ResponseWriter
      • Cookies
    • 第五章:展现内容
      • 模板和模板引擎
      • Go语言模板引擎
      • 动作
      • 参数、变量和管道
      • 函数
      • 上下文语义
      • 嵌套模板
      • 使用block动作来定义模板
    • 第六章:存储数据
      • 内存存储
      • 文件存储
      • Go和SQL
      • Go和SQL 关系
      • Go关系映射器
  • 第三部分:现实世界
    • 第七章:Go Web服务

      • web服务简介
      • 基于SOAP的Web服务
      • 基于REST的Web服务
      • 使用Go解析和创建XML
      • 使用Go解析和创建JSON
      • 创建Go Web服务
    • 第八章:测试 你的应用
      • Go和测试
      • Go单元测试
      • Go HTTP测试
      • 测试重复和依赖注入
      • 第三方Go测试库
    • 第九章:使用Go的concurrency
      • concurrency不是并行
      • Goroutines
      • Channels
      • Web应用中使用Concurrency
    • 第十章:部署Go应用
      • 部署到服务器
      • 部署到Heroku
      • 部署到Google APP Engine
      • 部署到Docker
      • 不同部署方法的比较

选:分布式系统

MIT分布式系统课程

资源参考

golang学习资料[Basic]的更多相关文章

  1. Golang 学习资料

    资料 1.How to Write Go Code https://golang.org/doc/code.html 2.A Tour of Go https://tour.golang.org/li ...

  2. golang学习资料

    http://yougg.github.io/static/gonote/GolangStudy.html 

  3. golang学习资料必备

    核心资料库 https://github.com/yangwenmai/learning-golang

  4. Golang学习:sublime text3配置golang环境

    最近导师让学习golang, 然后我就找了些有关golang的学习视频和网站. 昨天在电脑上下载了go tools, 之后在sublime上配置了golang的运行环境.By the way, 我的电 ...

  5. 【Go语言】学习资料

    这段时间一直在看Go语言,6月3日Apple发布了swift发现里面竟然也有许多Go语言的影子,截至现在每天都在感觉到Go语言的强大.确实值得一学 今天在这里给园友们推荐一些Go语言的学习资料 网站 ...

  6. 很不错的jQuery学习资料和实例

    这些都是学习Jquery很不错的资料,整理了一下,分享给大家. 希望能对大家的学习有帮助. 帕兰 Noupe带来的51个最佳jQuery教程和实例, 向大家介绍了jQuery的一些基本概念和使用的相关 ...

  7. go语言,golang学习笔记2 web框架选择

    go语言,golang学习笔记2 web框架选择 用什么go web框架比较好呢?能不能推荐个中文资料多的web框架呢? beego框架用的人最多,中文资料最多 首页 - beego: 简约 & ...

  8. go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE

    go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...

  9. go练习2-go的学习资料

    好吧 我承认,有自己添加的内容也有从别人的blog 中 ctrl + c 的 官方:http://golang.org ,经常被封 中文手册的翻译:http://code.google.com/p/g ...

随机推荐

  1. Fragment管理工具类

    Fragment相关→FragmentUtils.java→Demo addFragment : 新增fragment removeFragment : 移除fragment replaceFragm ...

  2. 原来找字也可以这样用ElseIf FindStr 手机按键精灵 跟大漠的区别

     原来找字也可以这样用ElseIf FindStr(646, 1109, 776, 1261, "公告小叉", "FFFFFF-333333", 0.9, in ...

  3. 小程序navigator跳转路径url写法

    小程序navigator跳转路径url要写  要跳转的的页面文件夹相对于当前页面的页面文件夹的位置,即相对路径. 比如我当前页面跳转到同级目录下的另一个页面如下: <navigator url= ...

  4. [转]好文章:Android的AlertDialog详解

    refer:http://www.2cto.com/kf/201205/131876.html AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDial ...

  5. Java 多线程编程知识详解

    Java 给多线程编程提供了内置的支持.一个多线程程序包含两个或多个能并发运行的部分.程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径. 多线程是多任务的一种特别的形式,但多线程使用 ...

  6. JAXB XML到java object的转换

    JAXB是Java Architecture for XML Binding的缩写.使用JAXB注解将Java对象转换成XML文件.在这篇教程中,我们将会展示如何使用JAXB来做以下事情: 1. ma ...

  7. c 编译和链接过程

    详解link  有 些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错 ...

  8. php扩展AMQP,安装报错解决

    接下来来安装php扩展AMQP,安装了它以后,才能用PHP操作rabbitmq.wget https://pecl.php.net/get/amqp-1.4.0.tgztar -zxvf amqp-1 ...

  9. 利用DB实现简单去重处理

    业务需要针对某文件进行判重操作,用Perl实现如下 #!/usr/bin/perl my %h; s/\s+$// and $h{$_}++ while <>; print "$ ...

  10. Python内置性能分析模块timeit

    timeit模块 timeit模块可以用来测试一小段Python代码的执行速度. class timeit.Timer(stmt='pass', setup='pass', timer=<tim ...