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、做什么事情

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

相关文章
|
2月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
212 1
|
10月前
|
编译器 Go
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。
|
10月前
|
运维 监控 算法
监控局域网其他电脑:Go 语言迪杰斯特拉算法的高效应用
在信息化时代,监控局域网成为网络管理与安全防护的关键需求。本文探讨了迪杰斯特拉(Dijkstra)算法在监控局域网中的应用,通过计算最短路径优化数据传输和故障检测。文中提供了使用Go语言实现的代码例程,展示了如何高效地进行网络监控,确保局域网的稳定运行和数据安全。迪杰斯特拉算法能减少传输延迟和带宽消耗,及时发现并处理网络故障,适用于复杂网络环境下的管理和维护。
|
4月前
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
304 1
|
4月前
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
404 0
|
4月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
262 0
|
4月前
|
Cloud Native Java 中间件
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
235 0
|
4月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
339 0
|
4月前
|
数据采集 Go API
Go语言实战案例:多协程并发下载网页内容
本文是《Go语言100个实战案例 · 网络与并发篇》第6篇,讲解如何使用 Goroutine 和 Channel 实现多协程并发抓取网页内容,提升网络请求效率。通过实战掌握高并发编程技巧,构建爬虫、内容聚合器等工具,涵盖 WaitGroup、超时控制、错误处理等核心知识点。
|
4月前
|
数据采集 JSON Go
Go语言实战案例:实现HTTP客户端请求并解析响应
本文是 Go 网络与并发实战系列的第 2 篇,详细介绍如何使用 Go 构建 HTTP 客户端,涵盖请求发送、响应解析、错误处理、Header 与 Body 提取等流程,并通过实战代码演示如何并发请求多个 URL,适合希望掌握 Go 网络编程基础的开发者。

热门文章

最新文章