Go 语言可以做什么 | 学习笔记

简介: 快速学习 Go 语言可以做什么

开发者学堂课程【Go 语言核心编程 - 基础语法、数组、切片、Map: Go 语言可以做什么】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/625/detail/9483


Go 语言可以做什么

目录:

一、 本课要求准备

二、 Golang 开山篇

三、 Golang 的学习方向

四、 Golang 的应用领域

五、 回顾

 

一、本课要求准备

课前准备一个文件夹,为 Go 语言核心编程课程使用。该文件夹下属文件有:

笔记   讲课的时候是边讲边做笔记的形式,笔记放在该文件夹里

代码   讲课过程会有大量的代码,代码整理放到这个文件夹里,可以在这里面找到老师当天讲解的代码

课件   PPT、画的图解等都放在这个文件夹

软件   Go 语言课程中会用到一些软件,如安装工具、开发环境等

视频   讲课视频分门别类、编号放这里,方便复习

资料   参考资料如:API 文档、参考文献、相关书籍等

作业   编程是做中学的学科,只听不练学不到真功夫。每天会根据讲课的内容布置作业,同时,也会挑出明显有困难的作业做评讲,或者比较有特色的作业做点评

图片8.png

这是课程相关的 7 个文件夹,为课程使用。讲课时会把相应资料放到相应文件夹里,这样方便大家随时查看复习并深入学习理解。

 

二、Golang 开山篇

Golang 开山篇就是开篇明义。主要讲解 Go 语言的应用领域和 Go 学习方法。怎么学习这门语言?这门语言与其他语言有什么不一样的地方?在学习的时候需要注意哪些问题?开篇都会讲解清楚,避免花时间学习后效率不高等情况。

每天讲解的内容会形成一个文档。内容、图解、笔记、作业、点评等都放在这个文档。课后就不需要再去翻看ppt等文件,利用好这个文档就能掌握学习内容。

文档里会有目录链接,点击对应目录就能定位对应内容。要学会合理利用笔记学习。

 

三、Golang 的学习方向

Go 语言,英文名 Golanguage ,一般可以简单的写成 Golang

学习 Golang 语言可以做什么呢?

Golang 核心编程将来会用在以下方面:

 图片9.png

1. 区块链研发工程师

区块链主流开发语言就是 Golang。学习 Golang 以后可以做区块链研发工程师。区块链就是分布式账本技术,是一种互联网技术,核心思想是去中心化,让人人都能参与数据库记录。比如虚拟货币金融等应用得比较多。

现在很多的金融机构都在陆陆续续地做区块链的培训。这是一个方向,谁先走在前面,前景则会很光明。做得越早,机会就越多。比如:谁先做网站、游戏等机会都会更多。

2. Go 服务器端/游戏软件工程师

目前,服务器端主要用的是 C 语言和 C++ 语言,只要是 C 语言和 C++ 能够开发使用的,Go 语言都能开发,而且会更好。

Go 语言是在 C 语言和 C++ 的基础上开发创作出来的。Go 语言有三位设计者,其中一位设计者,叫汤姆森,也是 C 语言的设计者。Go 语言是后面设计的,在很多方面会运用到 C 语言的设计理念并进行优化,C 语言和 C++ 能做的事情 Go 语言都可以做。如:处理日志,数据打包,文件系统。也比如,美团的后台流量支撑系统就是 GO 语言系统。

Go 语言的优势有:数据处理能力较强、大并发数据处理能力较强。现在,网站越来越多,平台越来越大,用户量动辄是几千万的量,如,新浪、搜狐、腾讯等,这些网站很多时候一个并发就是几百万,怎么去处理这样打大并发呢?Go 语言就具有处理这样的大并发的能力。在做后台服务器端时使用 Go 语言比较多。

在游戏开发的时候会用到数据通道。游戏后台,数据通道应用到 Go 语言比较多。

3. Golang 分布式/云计算软件工程师

京东的消息推送服务、分布式文件系统、盛大云 CDN 都使用的是 Go 语言。

学会 Go 语言以后能做这几类工作。

Go 语言是一个核心编程,以上三类工作中使用 Go 语言开发比较多。它的应用场景是比较多的。

Go 语言的工程师在市场需求量比较大,待遇相对其他工程师偏高。目前 Go 语言的人才比较少,早点掌握这一门语言,机会会更多。

 

四、Golang 的应用领域

Golang 的应用领域有:

1. 区块链的应用开发

区块链应用的程序语言是 Golang。需要先学习 Go 语言,才学区块链相关技术。

区块链技术,简称 BT(Blockchain technology),也被称之为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。数字货币及金融方面运用比较多。

2. 后台的服务应用

后端服务器应用  Golang 数据处理能力很强

(1) 美团后台流量支撑程序

支撑主站后台流量(排序,推荐,搜索等),提供负载均衡,cache ,容错,按条件分流,统计运行指标( qps, latency )等功能

美团客户量相当大,在每天中午点外卖的时间用户量达高峰,面对大量的排序,推荐,搜索等功能都是非常消耗运算能力的,还需要提供负载均衡。排序,推荐,搜索需要很强的计算能力,需要较快的响应速度,超强流量运算支撑。负载均衡, cache ,容错是需要后台有强大的大并发处理能力。所以,美团使用的就是 Golang语言。

(2) 仙侠道

产品网址:仙侠道官网=心动游戏  

应用范围:游戏服务端(通讯、逻辑、数据存储)

这款游戏的通讯、逻辑、数据存储等后台用的也是Go语言。

3. 云计算/云服务后台应用

盛大云 CDN  (内容分发网络)

网址:盛大云计算

应用范围:  CDN 的调度系统、分发系统、监控系统、短域名服务,CDN 内部开放平台、运营报表系统以及其他一些小工具等。

内容分发网络:访问一个网站,会有很多图片视频,耗费流量很大,如何让用户就近的、快速的访问到内容,这时候就需要 CDN 技术。Go 语言能建立 CDN 网络服务,云计算能力就凸显出来。

4. 京东消息推送云服务/京东分布式文件系统

网址:京东云

应用范围:后台所有服务全部用 go 实现。golang 的计算能力强。

京东是电子商务平台,每天的购买量、用户量也非常庞大。在进行消息推送、分布式文件系统时需要用到云计算技术。云计算就可以选择 Go 语言来做开发。后台所有服务全部用 go 实现,说明 golang 的计算能力很强。

 

五、回顾

1、找什么工作

学习 Go 语言将来找工作可以找区块链方面的研发工程师、服务器端方面的工程师、Golang 分布式/云计算方面的工程师。

2、做什么事情

区块链应开发、或者到美团公司工作、游戏公司工作、云计算等。

相关文章
|
22天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
35 7
|
22天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
22天前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
94 71
|
21天前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
101 67
|
24天前
|
Go 索引
go语言for遍历数组或切片
go语言for遍历数组或切片
93 62
|
2天前
|
存储 监控 算法
员工上网行为监控中的Go语言算法:布隆过滤器的应用
在信息化高速发展的时代,企业上网行为监管至关重要。布隆过滤器作为一种高效、节省空间的概率性数据结构,适用于大规模URL查询与匹配,是实现精准上网行为管理的理想选择。本文探讨了布隆过滤器的原理及其优缺点,并展示了如何使用Go语言实现该算法,以提升企业网络管理效率和安全性。尽管存在误报等局限性,但合理配置下,布隆过滤器为企业提供了经济有效的解决方案。
28 8
员工上网行为监控中的Go语言算法:布隆过滤器的应用
|
26天前
|
并行计算 安全 Go
Go语言中的并发编程:掌握goroutines和channels####
本文深入探讨了Go语言中并发编程的核心概念——goroutine和channel。不同于传统的线程模型,Go通过轻量级的goroutine和通信机制channel,实现了高效的并发处理。我们将从基础概念开始,逐步深入到实际应用案例,揭示如何在Go语言中优雅地实现并发控制和数据同步。 ####
|
22天前
|
存储 Go
go语言中映射
go语言中映射
33 11
|
24天前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
32 12
|
23天前
|
Go 索引
go语言使用索引遍历
go语言使用索引遍历
29 9

相关实验场景

更多