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 ...
随机推荐
- UNIX环境编程学习笔记(8)——文件I/O之校验当前登录用户对文件的访问权限
lienhua342014-09-03 通过前面一篇随笔(文件访问权限与进程访问控制),我们知道内核校验文件的访问权限使用的是进程的有效用户 ID 和有效组 ID.但有时我们需要知道当前登录用户对某个 ...
- Maven Missing artifact jar
maven error:Multiple annotations found at this line: - Missing artifact log4j:log4j:jar:1.2.15:compi ...
- 理解IOC
理解IOC 1 IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑. 图1:软件系统中耦合的对象 ...
- Java、C#双语版HttpHelper类(解决网页抓取乱码问题)
在做一些需要抓取网页的项目时,经常性的遇到乱码问题.最省事的做法是去需要抓取的网站看看具体是什么编码,然后采用正确的编码进行解码就OK了,不过总是一个个页面亲自去判断也不是个事儿,尤其是你需要大量抓取 ...
- Android 安全提示 笔记
http://developer.android.com/training/articles/security-tips.html1.数据存储内部存储internal storage存储的数据,只能由 ...
- 虚拟机中安装linux系统步骤
参考:http://blog.csdn.net/u013111221/article/details/50856934 后面参考:http://blog.csdn.net/chenweitang123 ...
- 几个实用的sublime text 2的快捷键
Sublime text快捷键 Sublime text 2是一款轻量.简洁.高效.跨平台的编辑器,他适合编写javascript,html,css,php,paython等等, 作为程序员,编码效率 ...
- C#WinForm窗体事件执行次序
当 Windows Form 应用程序启动时,会以下列顺序引发主要表单的启动事件: System.Windows.Forms.Control.HandleCreated ...
- MySQL------如何关闭打开MySQL
1.win+R打开运行窗口,输入services.msc 2.在其中查看mysql的服务名,我的是MySQL57 3.以管理员身份打开cmd 停止: 输入net stop MySQL57 启动: 输入 ...
- Linux下安装中文宋体
1,#cd /usr/share/fonts/default 2,mkdir -p ./truetype/simsun 3,取得simsun.ttc文件:如果网上下载不到则在windows (c:/w ...