广告
返回顶部
首页 > 资讯 > 后端开发 > GO >golang能做什么
  • 273
分享到

golang能做什么

Golanggo语言Go 2022-11-22 11:11:57 273人浏览 薄情痞子
摘要

Go语言(或 golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具 python 等动态语言的开发速度和 C/C++ 等编译型语言的性能与安全性”。Go语言是编程语言设计的又一

Go语言(或 golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具 python 等动态语言的开发速度和 C/C++ 等编译型语言的性能与安全性”。

Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程并发编程支持。Go语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程。

Go语言的推出,旨在不损失应用程序性能的情况下降低代码的复杂性,具有“部署简单、并发性好、语言设计良好、执行性能好”等优势,目前国内诸多 IT 公司均已采用Go语言开发项目

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

因为Go语言没有类和继承的概念,所以它和 Java 或 c++ 看起来并不相同。但是它通过接口(interface)的概念来实现多态性。Go语言有一个清晰易懂的轻量级类型系统,在类型之间也没有层级之说。因此可以说Go语言是一门混合型的语言。

此外,很多重要的开源项目都是使用Go语言开发的,其中包括 Docker、Go-Ethereum、ThrrafORMkubernetes

我们为什么选择Go语言

选择Go语言的原因可能会有很多,关于Go语言的特性、优势等,我们在之前的文档中也已经介绍了很多了。但是最主要的原因,应该是基于以下两方面的考虑:

  • 执行性能

    毕竟是类C的执行速度,对于一些服务来说,性能是极其重要的一环,事关系统的吞吐、访问的延迟,进而会影响用户的体验,Go语言通过协程可以方便的实现并行处理,达到处理效率的最大化 ,提升系统的吞吐能力。

  • 开发效率

    GO语言使用起来简单、代码描述效率高、编码规范统一、上手快。 通过少量的代码,即可实现框架的标准化,能快速的构建各种通用组件和公共类库,进一步提升开发效率,实现特定场景下的功能量产。

Go语言能做什么

Go 语言从发布 1.0 版本以来备受众多开发者关注并得到广泛使用,Go 语言的简单、高效、并发特性吸引了众多传统语言开发者的加入,而且人数越来越多。

鉴于Go语言的特点和设计的初衷,Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统数据库代理等网络编程方面,Go语言广泛应用于WEB 应用、api应用、下载应用等;除此之外Go语言还适用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发

  • 服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。

  • 分布式系统、数据库代理器、中间件等,例如Etcd。

  • 网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用,而且Go内置的net/Http包基本上把我们平常用到的网络功能都实现了。

  • 数据库操作

  • 开发云平台,目前国外很多云平台在采用Go开发

国内外有哪些企业或项目使用Go语言

Go发布之后,很多公司特别是云计算公司开始用Go重构他们的基础架构,很多都是直接采用Go进行了开发,最近热火朝天的Docker就是采用Go开发的。

使用 Go 语言开发的开源项目非常多。早期的 Go 语言开源项目只是通过 Go 语言与传统项目进行C语言库绑定实现,例如 Qtsqlite 等;

后期的很多项目都使用 Go 语言进行重新原生实现,这个过程相对于其他语言要简单一些,这也促成了大量 使用 Go 语言原生开发项目的出现。

比如阿里中间件、聚美优品、高升控股、探探、斗鱼直播、人人车、亚信、Udesk、方付通、招财猫、三一集团、美餐网等。一般的选择,都是选择用于自己公司合适的产品系统来做,比如消息推送的、监控的、容器的等,Golang特别适合做网络并发的服务,这是他的强项,所以也是被优先用于这些项目。Go语言作为一门大型项目开发语言,在很多大公司相继使用,甚至完全转向Go开发。

写在最后

当然,一个技术能不能发展起来,关键还要看三点。(以下观点引自https://www.cnblogs.com/qwangxiao/p/8318894.html)

• 有没有一个比较好的社区。像 C、C++、Java、Pythonjavascript 的生态圈都是非常丰富和火爆的。尤其是有很多商业机构参与的社区那就更为人气爆棚了,比如 linux 的社区。

• 有没有一个工业化的标准。像 C、C++、Java 都是有标准化组织的。尤其是 Java,其在架构上还搞出了像 J2EE 这样的企业级标准。

• 有没有一个或多个杀手级应用。C、C++ 和 Java 的杀手级应用不用多说了,就算是对于 PHP 这样还不能算是一个好的编程语言来说,因为是 Linux 时代的第一个杀手级解决方案 LAMP 中的关键技术,所以,也发展起来了。 上述的这三点是非常关键的,新的技术只需要占到其中一到两点就已经很不错了,何况有的技术,比如 Java,是三点全占到了,所以,Java 的发展是如此好。

当然,除了上面这三点重要的,还有一些其它的影响因素,比如:

  • 学习曲线是否低,上手是否快。这点非常重要,C++ 在这点上越做越不好了。

  • 有没有一个不错的提高开发效率的开发框架。如:Java 的 spring 框架,C++ 的 STL 等。

  • 是否有一个或多个巨型的技术公司作为后盾。如:Java 和 Linux 后面的 IBM、Sun……

  • 有没有解决软件开发中的痛点。如:Java 解决了 C 和 C++ 的内存管理问题。

用这些标尺来量一下 Go 语言,我们可以清楚地看到:

  • Go 语言容易上手;

  • Go 语言解决了并发编程和写底层应用开发效率的痛点;

  • Go 语言有 Google 这个世界一流的技术公司在后面;

  • Go 语言的杀手级应用是 Docker,而 Docker 的生态圈在这几年完全爆棚了。

所以,Go 语言的未来是不可限量的。当然,Go 可能会吞食很多 C、C++、Java 的项目。不过,Go 语言所吞食主要的项目应该是中间层的项目,既不是非常底层也不会是业务层。 也就是说,Go 语言不会吞食底层到 C 和 C++ 那个级别的,也不会吞食到高层如 Java 业务层的项目。Go 语言能吞食的一定是 PaaS 上的项目,比如一些消息缓存中间件、服务发现、服务代理、控制系统、Agent、日志收集等等,没有复杂的业 务场景,也到不了特别底层(如操作系统)的中间平台层的软件项目或工具。而 C 和 C++ 会被打到更底层,Java 会被打到更上层的业务层。

好了,我们再用上面的标尺来量一下 Go 语言的杀手级应用 Docker,你会发现基本是一样的。

  • Docker 上手很容易。

  • Docker 解决了运维中的环境问题以及服务调度的痛点。

  • Docker 的生态圈中有大公司在后面助力。比如 Google。

  • Docker 产出了工业界标准 OCI。

  • Docker 的社区和生态圈已经出现像 Java 和 Linux 那样的态势。


您可能感兴趣的文档:

--结束END--

本文标题: golang能做什么

本文链接: https://www.lsjlt.com/news/173382.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • golang能做什么
    Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具 Python 等动态语言的开发速度和 C/C++ 等编译型语言的性能与安全性”。Go语言是编程语言设计的又一...
    99+
    2022-11-22
    Golang go语言 Go
  • golang能做什么呢
    golang能做:1、网络应用程序,可以轻松地构建高性能的网络应用程序;2、分布式系统,通过网络进行通信,互相协作来完成任务;3、云计算,并发性和性能使其成为云计算平台的理想编程语言之一;4、大数据处理,提供了许多用于处理大数据的库和工具,...
    99+
    2023-07-27
  • golang能用来做什么
    golang能做:1、服务器端开发;2、云计算和分布式系统;3、网络编程和通信;4、嵌入式系统和物联网;5、桌面应用程序开发;6、游戏开发;7、区块链开发。详细介绍:1、服务器端开发,Go语言天生就非常适合编写服务器端应用程序;2、云计算和...
    99+
    2023-12-14
    Golang
  • golang都在做什么
    golang都在做服务器端开发,其定位是用来开发“大型软件”的,适合于很多程序员一起开发大型软件,并且开发周期长,支持云计算的网络服务,能够让程序员快速开发,并且在软件不断的增长过程中,能让程序员更容易地进行维护和修改,融合了传统编译型语言...
    99+
    2023-07-10
  • golang主流做什么
    在当今的编程领域中,Golang(或称为Go)已成为一个备受推崇的编程语言。它被设计为一种强大而简单的编程语言,用于处理高并发、实时性、大规模的系统和网络应用。但Golang主流做什么呢?本文将介绍Golang的主要应用领域和主流案例。云服...
    99+
    2023-05-15
  • golang做什么工作
    随着互联网的不断发展,计算机编程技术也不断更新迭代。其中,一种开发语言成为了广大程序员热议的话题,那就是golang。golang是Google公司开发的一种静态类型、编译型的开源编程语言。它设计简单,易于学习和使用,同时非常适合高并发的网...
    99+
    2023-05-15
  • golang 可以做什么
    近年来,Golang(或称Go语言)在编程领域一直备受关注。作为一门轻量级的面向并发编程的语言,Golang拥有诸多优势,近些年来已经逐渐成为云计算和大数据分析等相关领域的首选语言。那么,Golang究竟能够做什么?本文将为大家详细介绍。云...
    99+
    2023-05-14
  • golang能做app吗
    随着移动设备和移动应用的普及,开发人员一直在寻找一种高效的编程语言来构建高性能的移动应用程序。在这样的语言中,Golang(也称为Go)一直处于人们的视野中。Golang是一种类似于C的编程语言,由Google公司开发。由于其高效性和快速开...
    99+
    2023-05-14
  • golang只能做web
    Golang这门编程语言在业界越来越受到关注,并且被广泛应用于各种类型的项目中。它是由Google公司开发的一种开源编程语言,于2009年首次发布,并已经成为许多开发者和公司的首选编程语言之一。然而,很多人对Golang的用途仍然存在着一些...
    99+
    2023-05-14
  • golang能不能做游戏
    golang能做游戏,但是不适合做游戏。golang适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,golang广泛应用于Web应用、API应用、下载应用等。本教程操作环境:windows 10系统、G...
    99+
    2023-07-10
  • golang主要是做什么
    golang主要用于构建高并发的服务器端应用程序,特别适合于处理大量请求和高负载的系统。Golang具有以下几个特点:1、协程和并发,通过goroutines和channels提供了一种简单而高效的并发模型;2、高效的系统编程,通过提供丰富...
    99+
    2023-07-24
  • golang能做前端吗
    golang可以做前端,但并不是传统的前端开发语言。原因是:JavaScript是前端开发的主流语言,JavaScript 是一种动态、解释性的语言,专用于在浏览器中构建交互式网页和应用程序。与之相比,Golang是一种静态类型的编程语言,...
    99+
    2023-08-04
  • golang语言适合做什么
    Go语言是一种开源的编程语言,由Google公司开发。它的设计目标是简洁、高效、可靠,适用于构建高性能的网络服务和分布式系统。下面我将详细介绍Go语言适合做的几个方面。1. 网络编程:Go语言天生支持并发编程,具有轻量级的协程(gorout...
    99+
    2023-10-26
    Golang
  • golang能做小程序吗
    golang不能做小程序,小程序通常由两部分组成前端和后端。在前端方面,golang是不适合用来进行界面布局和交互的,HTML、CSS和JavaScript等前端技术在这方面做得非常好,并且已经得到了广泛的应用和验证。在后端方面,golan...
    99+
    2023-07-17
  • golang能做自动化吗
    golang能做自动化。具体原因是:1、golang提供了一个内置的测试框架,可以编写各种类型的测试,并且方便地运行,使得自动化测试变得更加容易;2、golang还提供了一些非常有用的第三方测试工具和框架,这些工具和框架可以更方便地进行各种...
    99+
    2023-07-18
  • golang能写什么
    golang可以写网络应用开发方面、开发网络工具、系统应用、编写嵌入式系统的软件、科学计算、分析的工具和开发区块链应用程序。1、网络应用开发方面,具有高并发的特性,使得能够轻松处理大量的并发请求;2、开发网络工具,可以用来开发网络爬虫、网络...
    99+
    2023-08-03
  • Golang适合做什么(应用领域)
    作为一种开源编程语言,Golang已经在软件开发和云计算等领域广泛使用。 Golang于2007年由Google的Robert Griesemer,Rob Pike和Ken Thompson创建,因其强大的性能和可扩展性而受到开发人员的青睐...
    99+
    2023-05-14
  • Python能做什么?
    Web程序Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。使用Python语言编写的Gunicorn作为Web服务器,也能够运行Python语言编写的Web程序。Pyth...
    99+
    2023-01-31
    能做什么 Python
  • python能做什么
    1、web开发 Python是WEB开发中常用的编程语言之一。Django和Flask是Python中最受欢迎的WEB框架,可以帮助开发者轻松创建高性能的WEB应用。 2、网络爬虫 网络爬虫又称网络蜘蛛,是指按照某种规则在...
    99+
    2023-10-29
    能做什么 python
  • ajax能做什么
    这篇文章主要讲解了“ajax能做什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ajax能做什么”吧! AJAX是一种用于创建...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作