课程介绍
你好,我是蔡超,目前在 Mobvista 担任技术副总裁兼首席架构师。在加入 Mobvista 前,我也曾在亚马逊,惠普等公司担任过首席软件架构师。
我是从小学四年级开始学习计算机编程的,并一直从事至今。学习和使用过很多的编程语言,如:BASIC,PASCAL,Perl,Python,C/C++,Java,Lisp,Haskel l等,当然,也包括 Go 语言。
在 Mobvista ,我们使用 Go 语言构建了国内最大,全球排名前十的移动广告平台,这个平台每天处理着来自世界各地的超过 500 亿次请求。
为什么选择 Go 语言来完成这么大一个项目呢?我们不妨回到 Go 语言的源头看一看。
Go 语言的初步设想始于 2007 年,当时 Go 语言的三位创始人是想通过开发一种新型的语言来解决 Google 在软件开发中面临的问题:
-
多核硬件架构;
-
超大规模分布式计算集群;
-
Web 开发模式导致的前所未有的开发规模和更新速度。
这些也是目前广大互联网公司普遍面临的问题。Go 语言就是针对这些问题而设计的,所以它被越来越多的公司和组织所使用,包括阿里、腾讯、百度、滴滴等众多的业界知名公司,几乎都在自身业务中用到了 Go 语言。就在不久之前,知乎也舍弃了 Python,转用 Go 重构了推荐系统。
除了用于构建大规模互联网系统,在业界,包括大家熟知的 Docker,Kubernetes 也都是通过Go 语言开发的,这也使得 Go 语言成为了云端应用的开发语言。另外,以太坊,HyperFabric 等著名区块链项目都可以通过 Go 语言开发,Go 也成为区块链开发中的常用语言。同时,企业应用及物联网等领域也都有 Go 语言的身影。
Go 语言的应用范围还在不断扩展,所以,今天学习和掌握 Go 语言,对于你未来的职业发展和个人成长都有着非常重要的意义。
从开发者的角度看,Go 语言有着很多为开发人员所喜爱的特性:
简单:较之 C 语言的 37 个关键字和 C++ 11 的 84 个关键字,Go 只有 25 个关键字;特别是对于一些复杂编程任务如:并发编程,内存管理,Go 语言有内置的并发支持及垃圾回收机制。
高效:Go 是编译的静态类型语言,尽管支持了垃圾回收,但GO中仍可以通过指针进行直接内存访问。
生产力:Go语言有简单清晰的依赖管理,简洁的语法,以及独特的接口类型,甚至是一些编程方式的约束,如支持复合而不是继承的扩展方式,这些特性使得它成为一门极具生产力的语言。
如果你有 PHP、Java、C/C++ 等等其他一门或多门编程语言的使用经验,现在想转到 Go 语言上面,并希望学完后快速用 Go 语言进行实际的项目开发,那么这门课程非常适合你来学习。
课程目录
1:Go语言简介
01 – Go语言课程介绍.ts
02 – 内容综述.ts
03 – Go 语言简介:历史背景、发展现状及语言特性.ts
04 – 编写第一个Go程序.ts
2:基本程序结构
05 – 变量、常量以及与其他语言的差异.ts
06 – 数据类型.ts
07 – 运算符.ts
08 – 条件和循环.ts
3:常用集合
09 – 数组和切片.ts
10 – Map 声明、元素访问及遍历.ts
11 – Map与工厂模式,在Go语言中实现Set.ts
4:字符串
12 – 字符串.ts
5:函数
13 – Go 语言的函数.ts
14 – 可变参数和 defer.ts
6:面向对象编程
15 – 行为的定义和实现.ts
16 – Go语言的相关接口.ts
17 – 扩展与复用.ts
18 – 不一样的接口类型,一样的多态.ts
7:编写好的错误处理
19 – 编写好的错误处理.ts
20 – panic和recover.t
8:包和依赖管理
21 – 构建可复用的模块(包).ts
22 – 依赖管理.ts
9:并发编程
23 – 协程机制.ts
24 – CSP并发机制.ts
24 – 共享内存并发机制.ts
25 – CSP并发机制.ts
26 – 多路选择和超时.ts
27 – channel的关闭和广播.ts
28 – 任务的取消.ts
29 – Context与任务取消.ts
10:典型并发任务
30 – 只运行一次.ts
31 – 仅需任意任务完成.ts
32 – 所有任务完成.ts
33 – 对象池.ts
34 – sync.pool 对象缓存.ts
11:测试
35 – 单元测试.ts
36 – Benchmark.ts
37 – BDD.ts
12:反射和Unsafe
38 – 反射编程.ts
39 – 万能程序.ts
40 – 不安全编程.ts
评论0