问题导读
1.为什么学习go语言?
2.你认为该如何入门go语言?
3.你认为go语言需要哪些学习过程?
转载注明本文链接
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24344
区块链可以使用各种语言开发,很多开发者使用的是go语言,因为它的并发能力。所以这里对go语言进行一个汇总,节省大家时间。
首先,我们可能只是知道go是一门不错的语言,然后我们想要学习,所以我们就需要找入门资料。对于入门资料,最好是系统的。这里给大家推荐一些系统的入门资料。
入门推荐
1.Go 语言教程
http://www.runoob.com/go/go-tutorial.html
2.Go入门指南
https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md
3.Go语言圣经(中文版)
章节内容
这里都是txt版本的,所以可以直接下载,但是最好从github上阅读
gitgub地址:
https://github.com/golang-china/gopl-zh
网盘下载:
链接: https://pan.baidu.com/s/1GUj_kQoLV9Lui3_wZHDRzw 密码: uaub
4.学习go语言
本书当前包含:
安装与概述
演示了如何安装 Go 语言,并通过逐行分析源代码示例展示了 Go 语言的基本特性。
类型,变量和控制流程
函数的编写和使用
包与项目
函数和数据通过包组织在一起。这里将会看到如何编写包。对如何在包中使用单元测试也进行了介绍;
如何对一个 Go 语言的项目的目录进行设计,以及如何使用 go 命令的 vendor 功能管理包的依赖。
结构体
学习如何创建自定义数据类型,并在其上定义函数(即方法)。
接口
Go 并不支持传统意义上的面向对象。在 Go 中核心概念是接口。
并发
通过关键字 go,可以在独立的调度中运行函数,这个并行执行的函数叫做 goroutine;
通过 channel 可以在 goroutine 之间进行安全的数据通讯。
文件与通讯
如何建立/读取/写如文件。以及网络相关内容。
每章包含若干个提供了答案的练习来帮助你提升。
链接: https://pan.baidu.com/s/11tSSXiMS1GaTnI5l0LMeSQ 密码: j8ww
git地址:
https://github.com/mikespook/Learning-Go-zh-cn
视频
有的同学不喜欢看书,喜欢看视频下面也提供一些
链接:
https://pan.baidu.com/s/1S6UBobCRCk_TqTAX5czP2w
密码: gvkw
观看时最好选择网易云课程,没有广告
Go 编程基础视频:
这里面有各个平台的,土豆广告太多,可以选择网易云平台
https://github.com/Unknwon/go-fundamental-programming
教程大纲
课时数 | 课时标题 | 在线播放 |
第 1 课 | Go 开发环境搭建 | 土豆网 优才网 网易云课堂 |
第 2 课 | Go 基础知识 | 土豆网 优才网 网易云课堂 |
第 3 课 | 类型与变量 | 土豆网 优才网 网易云课堂 |
第 4 课 | 常量与运算符 | 土豆网 优才网 网易云课堂 |
第 5 课 | 控制语句 | 土豆网 优才网 网易云课堂 |
第 6 课 | 数组 array | 土豆网 优才网 网易云课堂 |
第 7 课 | 切片 slice | 土豆网 优才网 网易云课堂 |
第 8 课 | map | 土豆网 优才网 网易云课堂 |
第 9 课 | 函数 function | 土豆网 优才网 网易云课堂 |
第 10 课 | 结构 struct | 土豆网 优才网 网易云课堂 |
第 11 课 | 方法 method | 土豆网 优才网 网易云课堂 |
第 12 课 | 接口 interface | 土豆网 优才网 网易云课堂 |
第 13 课 | 反射 reflection | 土豆网 优才网 网易云课堂 |
第 14 课 | 并发 concurrency | 土豆网 优才网 网易云课堂 |
第 15 课 | 项目与坑 | 土豆网 优才网 网易云课堂 |
代码
我们学习了书籍,看了视频,我们开始一些代码的实战部分:
可以先从小例子入手
例子
当我们看书的时候,我们想做几个例子,下面是一个例子的汇总:
第一个当然是hell word哈哈哈
Hello World
Values
Variables
Constants
For
If/Else
Switch
Arrays
Slices
Maps
Range
Functions
Multiple Return Values
Variadic Functions
Closures
Recursion
Pointers
Structs
Methods
Interfaces
Errors
Goroutines
Channels
Channel Buffering
Channel Synchronization
Channel Directions
Select
Timeouts
Non-Blocking Channel Operations
Closing Channels
Range over Channels
Timers
Tickers
Worker Pools
Rate Limiting
Atomic Counters
Mutexes
Stateful Goroutines
Sorting
Sorting by Functions
Panic
Defer
Collection Functions
String Functions
String Formatting
Regular Expressions
JSON
Time
Epoch
Time Formatting / Parsing
Random Numbers
Number Parsing
URL Parsing
SHA1 Hashes
Base64 Encoding
Reading Files
Writing Files
Line Filters
Command-Line Arguments
Command-Line Flags
Environment Variables
Spawning Processes
Exec'ing Processes
Signals
Exit
上面例子由于是微信可能去掉链接,可查看链接(http://www.aboutyun.com/forum.php?mod=viewthread&tid=24344)
原文地址:
https://gobyexample.com/
项目高级
我们会了例子,可能就需要一些项目代码,下面给大家推荐一些
使用beego框架可以很快速的开发你的Web或者API应用
地址:
https://github.com/astaxie/beego
学习分布式
地址:
https://github.com/skynetservices/skynet-archive
分布式应用
地址:
https://github.com/coreos/etcd
作者:asta谢
链接:https://www.zhihu.com/question/23486344/answer/24770195
Go名库讲解
《Go名库讲解》是一套针对 Google 出品的 Go 语言的第三方库进行评测讲解的集博客、示例与语音视频为一体的综合教程,适合完成学习完成《Go编程基础》教程的学习者。
课件下载:
链接: https://pan.baidu.com/s/1G-T5FLFy0VB0LSEA_wmTGQ 密码: 68tf
课程大纲
课程标题 | 副标题 | 课时数 | 在线播放 |
课程学习指导 | / | 1/1 | 优才网 网易云课堂 |
goconfig - INI 解析器 | goconfig 使用解析 | 1/1 | 优才网 网易云课堂 |
xorm - Go 语言 ORM | 常见用法指导 | 1/2 | 优才网 网易云课堂 |
高级用法讲解 | 2/2 | 优才网 网易云课堂 | |
goconvey - 单元测试库 | 优雅的单元测试 | 1/1 | 优才网 网易云课堂 |
Macaron - 模块化 Web 框架 | 初识 Macaron | 1/? | 优才网 网易云课堂 |
核心服务的使用 | 2/? | 优才网 网易云课堂 | |
自定义服务 | 3/? | 优才网 网易云课堂 |
地址:
https://github.com/Unknwon/go-rock-libraries-showcases
其它书籍推荐
go学习笔记
pdf
182页
Go语言教程
pdf
103页
下载链接:
链接: https://pan.baidu.com/s/1JuGXDNKCNYcdXrDn8NP0Yw 密码: c2te
其它更多书籍25文档:
链接: https://pan.baidu.com/s/1GmGdKhP6WClDxbuEqBKjiQ 密码: mi5z
其它:
当然这里还搜集了其它学习资料,大家可参考:
上面是一些比较系统的
go社区:
https://www.studygolang.com/articles
Go官方
http://golang.org/
Go代码
http://code.google.com/p/go/
http://code.google.com/p/gomingw/downloads/list
Go 语言中文翻译项目
http://code.google.com/p/golang-china/
Go语言中文论坛
http://bbs.golang-china.org/
go的eclipse插件
http://code.google.com/p/goclipse/
go代码提示
https://github.com/nsf/gocode
http://go-lang.cat-v.org/
相关的blog:
风云blog go学习笔记:http://blog.codingnow.com/eo/go_oieno/
blog: http://www.lubia.me/?tag=golang
beego(beego框架的作者): http://blog.beego.me/
博客:http://the5fire.com
官方资源
版本安装
官网首页 (发布版 weekly)
开发路线 (发布版 weekly)
Go1版信息 (博文 计划 反馈帖 发版需解决问题)
安装说明 (发布版 weekly 译1 译2)
Weekly版 (源码 历史 发布2012-01-20 宣布帖)
Release版 (源码 历史 发布2011-10-17 r60.3)
Windows版 (当前下载 历史下载)
Build状态 (查看)
参考手册
标准包 (发布版 weekly 译)
命令工具 (发布版 weekly 译1 译2)
语言规范 (发布版 weekly 译1 译2)
社区项目 (分类查看 安装统计) 可用goinstall安装
学习资料
官方博客 (网址)
社区Wiki (网址)
常见问题 (发布版 weekly 译)
Go在线运行 (运行分享 例子代码 chrome插件)
Go语言之旅 (英文版 源码 译1 译2 中文版)
Go语言教程 (发布版 weekly 译1 译2 译3)
三日教程 (第一天:基础 PDF下载)
(第二天:类型、方法、接口 PDF下载)
(第三天:并发和通讯 PDF下载)
Go语言有效编程 (发布版 weekly 译1 译2 译3)
如何编写Go程序 (发布版 weekly 译1 译2)
语言内存模型 (发布版 weekly 译)
C++程序员指南 (发布版 weekly 译)
使用GDB调试Go代码 (发布版 weekly)
Codewalks:代码漫步 (发布版 weekly)
Codelab:编写Web程序 (发布版 weekly 译)
项目开发
Go项目 (首页 Build状态 源码浏览 提交日志 贡献准则)
Go问题 (提交 所有 Windows 需外界帮助 Go1发版需解决)
GAE支持 (概述 翻译 运行时环境)
gccgo前端 (首页 安装使用 贡献说明)
cat-v
大学Go培训课程情况
Go语言其他实现
Go支持的CPU架构
Go支持的操作系统
各操作系统下的安装包
博客
邢兴 柴树杉 HowardFan 云风 许式伟 lvyi BianJiang DCCMX
刘洪清 贝塔熊 Linxs 科技博 陈钢 王益 Crane 无心云
熟悉API
API:多看官方的GO包类,熟悉各个功能模块接口。
GITHUB上的推荐项目:
1.GO与MYSQL的结合使用(作为入门熟悉)
https://github.com/Go-SQL-Driver/MySQL
https://github.com/Go-SQL-Driver/MySQL/wiki/Examples
关注:
长按/扫描二维码 ,后台回复关键词:获取各种最新技术,和资源
about云新上课程:欢迎加微信w3aboutyun咨询,保证大家学会
大数据日志实时分析
http://www.aboutyun.com/forum.php?mod=viewthread&tid=22431
转载注明本文链接
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24344