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程序也能像WinForm程序一样运行[转载]
阅读目录 开始 操作方式 支持的ASP.NET程序类别 它也是个HTTP服务器 支持远程机器访问 不受限于Windows防火墙 尊重每个人的操作习惯 内置多标签浏览器支持 启动参数及配置文件 支持 . ...
- vue select下拉框绑定默认值
vue select下拉框绑定默认值: 首先option要加value值,以便v-model可以获取到对应选择的值 一.当没有绑定v-model,直接给对应的option加selected属性 二.当 ...
- innodb分区
当 MySQL的总记录数超过了100万后,性能会大幅下降,可以采用分区方案 分区允许根据指定的规则,跨文件系统分配单个表的多个部分.表的不同部分在不同的位置被存储为单独的表. 1.先看下innodb的 ...
- nginx配置:location配置方法及实例
转载:https://blog.csdn.net/heiyueya/article/details/70149270 location匹配的是nginx的哪个变量? $request_uri loca ...
- Uva--11324--The Largest Clique【有向图强连通分量】
链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&am ...
- my-small.ini、my-medium.ini、my-large.ini、my-huge.ini文件的作用
安装完mysql之后或者是下载的免安装版解压之后,默认是没有my.ini文件的.但是,有几个类似的文件,如my-small.ini.my-medium.ini.my-large.ini.my-huge ...
- 【RF库XML测试】Get Elements
Name:Get ElementsSource:XML <test library>Arguments:[ source | xpath ]Returns a list of elemen ...
- iOS开发--tarBarItem右上方显示badgeValue
直接设置tabBarItem.badgeValue没有效果,找原因半天发现ViewController被NavigationViewController包着 需这样设置才行: self.navigat ...
- 解决16bit压缩贴图失真问题
选择索引模式
- React Native 入门到原理(详解)
抛砖引玉(帮你更好的去理解怎么产生的 能做什么) 砖一.动态配置 由于 AppStore 审核周期的限制,如何动态的更改 app 成为了永恒的话题.无论采用何种方式,我们的流程总是可以归结为以下三部曲 ...