golang学习资料[Basic]
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
- 第一章:走进Go
- 第二部分:多彩的应用
- 第四章:处理error和panic
- Error处理
- panic系统
- 第五章:调试和测试
- 定位bug
- 日志
- 访问栈追踪(stack trace)
- 测试
- 性能测试
- 第四章:处理error和panic
- 第三部分:应用接口
- 第六章:HTML和Email模板
- HTML模板
- 为Email使用模板
- 第七章:服务和接收资源和表单
- 提供静态内容服务
- 处理表单请求
- 第八章:Web服务
- REST APIs
- 传递和处理HTTP error
- 解析和映射JSON
- API版本控制
- 第六章:HTML和Email模板
- 第四部分:应用云端部署
- 第九章:使用云服务
- 云集算是什么
- 管理云服务
- 云服务器上运行你的程序
- 第十章:云服务之间的通信
- 微服务和高可用
- 服务间通信
- 第十一章:反射和代码生成
- 反射的三个特征
- 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
- 数据库接口
- 启动服务器
- 组合封装起来
- 第一章:Go语言和Web应用
- 第二部分:基础Web应用
- 第三章:handling请求
- Go的net/http库
- Go服务
- Handlers和handler函数
- 使用HTTP/2
- 第四章:processing请求
- 请求和响应
- HTML表单和Go
- ResponseWriter
- Cookies
- 第五章:展现内容
- 模板和模板引擎
- Go语言模板引擎
- 动作
- 参数、变量和管道
- 函数
- 上下文语义
- 嵌套模板
- 使用block动作来定义模板
- 第六章:存储数据
- 内存存储
- 文件存储
- Go和SQL
- Go和SQL 关系
- Go关系映射器
- 第三章:handling请求
- 第三部分:现实世界
- 第七章: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
- 不同部署方法的比较
- 第七章:Go Web服务
选:分布式系统
资源参考
golang学习资料[Basic]的更多相关文章
- Golang 学习资料
资料 1.How to Write Go Code https://golang.org/doc/code.html 2.A Tour of Go https://tour.golang.org/li ...
- golang学习资料
http://yougg.github.io/static/gonote/GolangStudy.html
- golang学习资料必备
核心资料库 https://github.com/yangwenmai/learning-golang
- Golang学习:sublime text3配置golang环境
最近导师让学习golang, 然后我就找了些有关golang的学习视频和网站. 昨天在电脑上下载了go tools, 之后在sublime上配置了golang的运行环境.By the way, 我的电 ...
- 【Go语言】学习资料
这段时间一直在看Go语言,6月3日Apple发布了swift发现里面竟然也有许多Go语言的影子,截至现在每天都在感觉到Go语言的强大.确实值得一学 今天在这里给园友们推荐一些Go语言的学习资料 网站 ...
- 很不错的jQuery学习资料和实例
这些都是学习Jquery很不错的资料,整理了一下,分享给大家. 希望能对大家的学习有帮助. 帕兰 Noupe带来的51个最佳jQuery教程和实例, 向大家介绍了jQuery的一些基本概念和使用的相关 ...
- go语言,golang学习笔记2 web框架选择
go语言,golang学习笔记2 web框架选择 用什么go web框架比较好呢?能不能推荐个中文资料多的web框架呢? beego框架用的人最多,中文资料最多 首页 - beego: 简约 & ...
- go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE
go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...
- go练习2-go的学习资料
好吧 我承认,有自己添加的内容也有从别人的blog 中 ctrl + c 的 官方:http://golang.org ,经常被封 中文手册的翻译:http://code.google.com/p/g ...
随机推荐
- asp.net导出EXCEL的好方法!(好用,导出全部数据)
1.调用方法: ExportExcel("application/ms-excel", "EXCEL名称.xls", GridView1, this.Page) ...
- php的MCRYPT_RIJNDAEL_256 和mcrypt_encrypt 用法
<?php $key = "miyao";//密钥 $string="jiami";//需要加密的字符 $d = new d(); //加密 $crypt ...
- linux cfs调度器
在抽象模型中vruntime决定了进程被调度的先后顺序,在真实模型中决定被调度的先后顺序的参数是由函数entity_key决定的. static inline s64 entity_key(str ...
- Java并发包学习一 ThreadFactory介绍
ThreadFactory翻译过来是线程工厂,顾名思义,就是用来创建线程的,它用到了工厂模式的思想.它通常和线程池一起使用,主要用来控制创建新线程时的一些行为,比如设置线程的优先级,名字等等.它是一个 ...
- vuex在页面中以对象展开运算符形式引入报错解决
当页面中以mapGetters等对象扩展运算符写的时候,会报错 unexpected token 解决如下: babel还要加插件才能解释这个写法 npm install --save-dev bab ...
- 理解Node.js异步非阻塞I/O与传统线性阻塞IO的区别(转)
阻塞I/O 程序执行过程中必然要进行很多I/O操作,读写文件.输入输出.请求响应等等.I/O操作时最费时的,至少相对于代码来说,在传统的编程模式中,举个例子,你要读一个文件,整个线程都暂停下来,等待文 ...
- php解析出带层级关系的mpp文件
本来要使用DHX gantt插件自带的API做导入,可是做完后,又发现不稳定,不能访问了 可能是屏蔽掉了 所以又想起可以使用javaBridge,借用java的MPXJ php解析mpp的 上一篇介绍 ...
- 让Zend Studio联系关系CakePHP模板文件.ctp
让Zend Studio关联CakePHP模板文件.ctp Zend Studio是套强大的PHP编辑器,各种给力让PHP开发者爱不释手.对于CakePHP程序员来说,有件事情相当头疼,在初始安装好Z ...
- 为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?【转载】
转载自:http://www.cnblogs.com/dancefire/archive/2013/01/02/why-notifyDataSetChanged-does-not-work.html ...
- LeetCode_Maximum Subarray | Maximum Product Subarray
Maximum Subarray 一.题目描写叙述 就是求一个数组的最大子序列 二.思路及代码 首先我们想到暴力破解 public class Solution { public int maxSub ...