我的编程空间,编程开发者的网络收藏夹
学习永远不晚

go语言属不属于底层语言

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

go语言属不属于底层语言

本篇内容主要讲解“go语言属不属于底层语言”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“go语言属不属于底层语言”吧!

go语言不属于底层语言。底层语言又叫低级语言,指实现效率低、执行效率高、对硬件的可控性强、目标代码小、可维护性差、可移植性差的语言。而go语言是一门高级编程语言,它为解决大型系统开发过程中的实际问题而设计,支持并发、规范统一、简单优雅,性能强大。

底层语言,又叫低级语言,指实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差的语言。

go语言不属于底层语言。Go语言是Google公司在2009年开源的一门高级编程语言,它为解决大型系统开发过程中的实际问题而设计,支持并发、规范统一、简单优雅,性能强大,被很多Go语言传道者誉为“云计算时代的C语言”。

Go语言作为一种类C的高级语言,在降低了C指针编程的门槛的同时,也增加了一些潜在的编程陷阱,甚至对于熟练使用Go语言的老手,也会不小心踩坑。所以需要注意。

下面一起来聊聊Go语言的发展史和Go语言的特点。

Go的命名

go语言属不属于底层语言

这是一封由Rob Pike在2007年9月25日,下午3:12发送给Robert Griesemer和Ken Thompson的有关编程语言讨论主题的邮件,邮件正文大意为:

我在开车回家的路上得到了些灵感:  * 给这门编程语言取名为“go”,它很简短,易书写。  * 工具类可以命名为:goc、 gol、goa。  * 交互式的调试工具也可以直接命名为“go”。  * 语言文件后缀名为 .go 等等。

和很多伟大的公司诞生于车库一样,Go语言的命名也和汽车有关。以上就是Go语言名字的来源。我个人是很喜欢Go这个命名的,看似很随意的一个想法,却很精准。有着Google的纯正血统,又体现了语言简单,优雅的特点。而且Go里面开启一个协程的关键字就是go。

谷歌工程师的20%时间

自此之后Robert、Rob和Ken三个人开始在Google内部进行了研发,一直到了2009年,Go正式开源了,Go项目团队将2009年11月10 日,即该语言正式对外开源的日字作为其官方生日。源代码最初托管在http://code.google.com上,之后几年才逐步的迁移到 GitHub上。谷歌的“20%时间”工作方式,允许工程师拿出20%的时间来研究自己喜欢的项目。语音服务Google Now、谷歌新闻Google News、谷歌地图Google Map上的交通信息等,全都是20%时间的产物。Go语言最开始也是20%时间的产物。

Go语言的三位创始人

邮件中提到的就是Go语言最重要的3位创始人:

  • Rob Pike:曾是贝尔实验室Unix开发团队成员,Plan9操作系统开发的主要领导人,Inferno操作系统开发的主要领导人。

  • ken tomption:图灵奖得主,C语言前身B语言的作者,Unix的发明人之一,操作系统Plan 9的主要作者。 共同开发了UTF-8。

  • Robert:曾为谷歌的V8 JavaScript引擎和Chubby开发代码。

Go语言血统

编程语言的发展,和物种进化类似。每种编程语言都会从先前的语言吸取精华,再进行创新和改进。下图展示了Go从它的前辈们继承了哪些优点,Go正是站在这些巨人的肩膀上,在云时代,发挥越来越大的作用。

go语言属不属于底层语言

Go语言从前辈们继承的特点:

  • C语言:Go语言有时候被描述为“C类似语言”,或者是“21世纪的C语言”。Go从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等很多思想,还有C语言一直所看中的编译后机器码的运行效率以及和现有操作系统的无缝适配

  • Pascal:但是在Go语言的家族树中还有其它的祖先。其中一个有影响力的分支来自Niklaus Wirth所设计的 Pascal)语言。然后Modula-2语言激发了包的概念。然后Oberon)语言摒弃了模块接口文件和模块实现文件之间的区别。第二代的Oberon-2)语言直接影响了包的导入和声明的语法,还有Oberon)语言的面向对象特性所提供的方法的声明语法等。

  • CSP:Go语言的另一支祖先,带来了Go语言区别其他语言的重要特性,灵感来自于贝尔实验室的Tony Hoare于1978年发表的鲜为外界所知的关于并发研究的基础文献,顺序通信进程(communicating sequential processes ,缩写为CSP)。在CSP中,程序是一组中间没有共享状态的平行运行的处理过程,它们之间使用管道进行通信和控制同步。不过Tony Hoare的CSP只是一个用于描述并发性基本概念的描述语言,并不是一个可以编写可执行程序的通用编程语言。Go语言使用管道在协程进进行通信

重量级应用

如下是列举的一些Go语言的重量级应用:

go语言属不属于底层语言

Go的优点

程序员的心声:如果现实世界需要我能够在几天内对一个生产系统进行原型设计、测试和部署,而且在每秒能处理比原来多5倍请求,CPU和内存的开销还都很小。我想大概只有Go语言可以胜任了。

Go语言有如下优点:

  • 单独的二进制发布:Go项目编译会生成一个静态的可执行文件。该文件可独立运行而不需要其他依赖。这种方式特别适合于云原生容器环境。

  • 交叉编译:在任何操作系统上都可以编译在其他平台上可运行的二进制文件。比如在Mac系统上可编译出在Linux和Windows上可运行的二进制文件。

  • 垃圾回收:Go语言支持垃圾回收。相比较,C++,Rust等需要开发者自己控制。

  • 执行性能:Go非常的快。性能接近于C++。远高于Java,Python、Node。

  • 开发效率:Go语言同时具备静态语言的运行性能和动态语言的开发效率。

  • 简单,高效:Go语言的设计哲学里就包括了简单和高效。一个典型的反例就是复杂,臃肿的Java语言。

  • 并发性:语言层面支持并发,通过协程和通道简化并发开发,提高并发性能。

  • 丰富的标准库:Go标准库覆盖了文本,IO,网络,加密,Web服务,远程RPC,模板引擎等功能。

  • 可以调用C语言:可以调用C语言函数,进一步优化性能,复用C语言庞大的生态系统。

  • 快速编译时间:Go的编译特别快。大家可以参考两款静态博客生成系统,Hexo(Node开发)和Hugo(Go开发)。

  • 工程型:Go语言设计的目的就是成为一门工程语言,解决实际的工程问题。Go语言定义了开发规范,并提供了丰富的工具。使用Go语言可以编写出容易阅读和理解,容易测试、维护和扩展的程序。

Go缺点

  • 缺少重量级框架。如Ruby的Rails,Python的Django,Java的Spring。

  • 错误处理:没有异常系统。Go官方正在解决该问题。

  • 软件包管理:很长时间以来,Go官方都没有一套软件包管理体制。直到最近,Go的1.13版本正式引入了Go Module作为官方的依赖管理工具。

  • 不是标准的面向对象的编程模型:这个也是Go语言的一个创新。如果你是坚实的OOP的拥护者,可能会有些不适应

到此,相信大家对“go语言属不属于底层语言”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

go语言属不属于底层语言

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

go语言属不属于底层语言

本篇内容主要讲解“go语言属不属于底层语言”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“go语言属不属于底层语言”吧!go语言不属于底层语言。底层语言又叫低级语言,指实现效率低、执行效率高、对硬
2023-07-04

go语言属于底层语言吗

go语言不属于底层语言。底层语言又叫低级语言,指实现效率低、执行效率高、对硬件的可控性强、目标代码小、可维护性差、可移植性差的语言。而go语言是一门高级编程语言,它为解决大型系统开发过程中的实际问题而设计,支持并发、规范统一、简单优雅,性能强大。
2023-05-14

go语言属于哪个层次

Go语言属于应用层,应用层是网络中最高的层次,它负责处理用户与网络之间的交互,Go语言具有以下特点:1、语法简洁明了,学习曲线低;2、天生支持并发编程,它提供了内置的并发原语;3、具有自动垃圾收集功能;4、提供了许多实用的标准库,包括网络、
2023-07-10

go语言是底层语言吗

go语言不是底层语言,go语言被广泛认为是一种系统级编程语言,更接近于高级语言,而不是底层语言。底层语言通常是指与硬件直接交互的编程语言,它们提供了对计算机底层操作的精细控制,这些语言往往需要程序员手动管理内存、处理输入输出等底层细节,因此
2023-07-17

透视Go语言:上层语言还是底层语言?

透视Go语言:上层语言还是底层语言?Go语言作为一种开源的编程语言,自发布以来受到了广泛关注和应用。它在设计上借鉴了传统编程语言的一些特点,同时也具备了现代编程语言的一些先进特性。那么,究竟Go语言是一种上层语言还是底层语言呢?下面我们将
透视Go语言:上层语言还是底层语言?
2024-03-14

java语言属于什么语言

小编给大家分享一下java语言属于什么语言,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表
2023-06-14

Go语言属于哪种类型

小编给大家分享一下Go语言属于哪种类型,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Go语言属于静态编译语言。go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,并且Go是基于Infe
2023-06-14

go语言的底层是什么语言

go语言的底层是C语言,Go语言是由C和C++开发者创建的,因此它的底层实现也是用C语言编写的,Go语言底层使用了很多C语言的特性和实现方式,如内存管理、指针、函数调用等,这使得Go语言可以直接调用C语言的库函数,也方便了Go语言与其他编程
2023-07-10

c语言是属于什么语言

c++kquote>c语言是一种高级程序设计语言。其优点包括可读性高、跨平台兼容、开发效率高。c语言具备结构化、强类型、指针使用和高效性等特性,应用于操作系统开发、嵌入式系统编程、游戏开发、数据结构和算法实现等领域。相较于其他语言,c++扩
c语言是属于什么语言
2024-04-13

c语言属于高级语言吗?

是的,c语言被认为是一种高级语言,因为它具有易读性、可移植性、可维护性和抽象性等特点。C语言是否属于高级语言?是的,C语言被认为是一种高级语言。详细解释:高级语言是一种更接近人类语言的编程语言。与低级语言(如汇编语言)相比,高级语言具
c语言属于高级语言吗?
2024-04-13

c语言属于一种什么语言

c语言属于系统编程语言,其特点包括直接硬件访问、低级内存管理和高效紧凑,用于开发操作系统、设备驱动程序等低级软件。C语言属于一种什么语言?C语言属于一种系统编程语言。什么是系统编程语言?系统编程语言是一种专门用于开发计算机操作系统、设
c语言属于一种什么语言
2024-04-13

谜底揭晓:Go语言底层到底用了哪种语言?

Go语言作为一种高效的编程语言,以其简洁、高效、易用等特点受到了广泛的关注和应用。然而,很多人对于Go语言底层到底使用了哪种语言仍然存在疑惑。本文将会揭晓这个谜底,并通过具体的代码示例进行说明。众所周知,Go语言是由Google开发的一种
谜底揭晓:Go语言底层到底用了哪种语言?
2024-03-07

golang属于什么语言

golang属于一种静态类型、编译型的语言,它的设计目标是提供一种简单、高效、可靠的编程语言,适用于构建大型软件系统。Go语言的设计哲学是简洁、直接、易于理解和使用,Go语言支持并发编程,引入了goroutine和channel的概念,使得
2023-08-01

Go语言底层实现原理揭秘:底层语言究竟是什么?

Go语言底层实现原理揭秘:底层语言究竟是什么?在计算机科学领域中,底层语言通常指的是可以直接与硬件交互的编程语言,它可以更加精细地控制计算机的底层资源,包括内存、寄存器等。作为一种高级编程语言,Go语言在应用层提供了强大简洁的特性,但是G
Go语言底层实现原理揭秘:底层语言究竟是什么?
2024-03-07

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录