区块链开发语言之go语言学习线路指导

c36qucns2zuqf6 · · 9016 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c36qUCnS2zuqF6/article/details/79958701

问题导读

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
640?wx_fmt=png 


2.Go入门指南

640?wx_fmt=png 

https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md

3.Go语言圣经(中文版)

640?wx_fmt=jpeg 

章节内容
640?wx_fmt=png 

这里都是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应用

640?wx_fmt=png 

地址:
https://github.com/astaxie/beego

学习分布式
640?wx_fmt=png 

地址:
https://github.com/skynetservices/skynet-archive

分布式应用

640?wx_fmt=png 

地址:
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文档:

640?wx_fmt=png 
640?wx_fmt=png 

链接: 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




关注:

长按/扫描二维码 ,后台回复关键词:获取各种最新技术,和资源

640?wx_fmt=jpeg


about云新上课程:欢迎加微信w3aboutyun咨询,保证大家学会

大数据日志实时分析

http://www.aboutyun.com/forum.php?mod=viewthread&tid=22431


转载注明本文链接

http://www.aboutyun.com/forum.php?mod=viewthread&tid=24344


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:c36qucns2zuqf6

查看原文:区块链开发语言之go语言学习线路指导

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

9016 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传