1 简介

作者: ca8519be679b | 来源:发表于2021-03-21 21:07 被阅读0次

#从韩顺平的B站引入

GO能做什么

1

如上图,可以分为区块链,后端,分布式文件系统等应用

对于区块链,核心要求分布式数据库账目,公开透明

对于服务端开发,要求排序、搜索、推荐的效率,提供负载均衡等等,对效率有较高的要求(要有处理高并发的能力)

对于分布式,云计算,要求调度,也反映golang计算能力强

go语言是google公司开发的语言,也是其主推的语言,国内很多BAT已经开始使用go开发

GO语言历史

开发者主要是肯.汤姆逊和罗布.派克。前者一定非常熟悉了,开发了B,C,unix的人,后者也是bell实验室得人,开发了java的hotspot编译器和chrome的js引擎V8

google开发go的原因,硬件发展快,软件当时没有利用好多核多CPU优势,很多语言速度慢,而C++虽然速度快,但是开发慢,编译时间长,有内存泄漏问题

2

如上图,展示了各版本的演进

GO语言的特点

3

我们知道c效率高,python开发快,go就是兼顾两者,

1 go从c继承了很多理念,而且有弱化的指针,如下图就是函数里给指针传入,并赋值

4

2 我们知道很多语言都有包的概念用于组织程序结构,go强化了要求,要每个文件都必须指定所属的包,不能独立存在,如上图

3我们知道c,c++要自己写垃圾回收,而go不用,不用内存泄漏的问题,方便我们开发

4天然高并发,充分利用多核,goroutine轻量级线程,轻松实现上万并发

5 go语言特有的管道channel,实现goroutine间通信,后续会详解

6 支持返回多个值,如下,感觉有点抄袭python,哈哈

5

7 新增:支持切片slice,延时执行defer等等后续会讲

GO开发工具

6

GO开发工具有很多,我们建议使用自己熟悉的,免费的,如上图,有vscode,支持linux,windows,mac os等, 比如sublime保存一定次数会提示购买,取消其实和付费版一样。vim(vi),emacs等常用语linux端开发

7

如上,当然还要eclipse,jetbrains系列,这些要安装go插件,LiteIDE是国人开发的专门使用go的ide

新手学习编程,要先学会使用文本编辑工具,如vscode,vim,notepad++等,后续再使用高级IDE,防止习惯IDE,脱机不会写代码

相关文章

  • 1简介

    线程优势 发挥多处理器的优势,提高系统吞吐率 简化系统建模通过使用线程,可以将复杂且异步的工作进一步分解为一组简单...

  • 1、简介

    docker组件 docker服务器和客户端,也称为docker引擎 docker镜像 registry dock...

  • 1 简介

    语法给出语言规则。这个词源于希腊名词的字母或标记 。这源于希腊语的书写动词,这是我们英语词汇表的来源。语法,更广泛...

  • 1 简介

    1、fMRI文章增长迅速。 原因:无创性、高空间/时间分辨率、速度快。 原理:脑内神经活动引起血氧增加,未...

  • 1 - 简介

    微信公众号开发 又称微信公众号二次开发。可以将公众账号由一个媒体型营销工具转化成提供服务的产品。 微信公众号开发的...

  • 1·简介

    (先给大家做个人物简介) 琉璃夏:丞相府嫡小姐,原是天上神尊。因得知慕容烨下凡渡劫,而跟着下来(没有被抹去记忆...

  • 1 简介

    #从韩顺平的B站引入 GO能做什么 如上图,可以分为区块链,后端,分布式文件系统等应用 对于区块链,核心要求分布式...

  • 1、redis简介

    参考链接:1)https://www.cnblogs.com/xiaoxi/p/7007695.html2)htt...

  • 1.简介

    1.通过 cal 命令来查看日历 2.passwd 修改密码 3.可以使用 ls 命令来查看当前目录下的文件和目录...

  • http简介(1)

    1.HTTP 请求 http请求包括四个部分,分别是a.请求行(request line)请求行由三个部分组成:命...

网友评论

      本文标题:1 简介

      本文链接:https://www.haomeiwen.com/subject/lzdncltx.html