为什么越来越多的互联网大厂开始使用Go语言了

为什么越来越多的互联网大厂开始使用Go语言了

越来越多的互联网大厂开始使用Go语言了,譬如腾讯、美团、滴滴、百度、Google、bilibili…

还有最初使用Python的字节跳动,甚至已经全面拥向Go了。这么多国内外首屈一指的公司,都在开始使用它了,它到底有什么优势呢?这就得谈谈它的一些优势了。

ps:当然了,还有Go-To-Byte的成员,想要学习go语言,并且用它完成青训营的大项目呐~

Go的一些优势

说起优势,在某些方面多半是因为它有一些别人没有的特性,或者优化了别人麻烦的地方,相比起来,才会更胜一筹。那我们来了解一下Go的一些特点吧,但在了解生硬的特点之前,我们先来看看其它几种常见的语言:

立即学习“go语言免费学习笔记(深入)”;

常见的一些语言

这里不是对比哟,不是说谁好谁坏,而是小马过河,因人而异~

1、C/C++

C语言是在1971年的时候,被大神Ken Thompson和Dennis Ritchie发明的,而Go语言的主导开发者之一就是Ken Thompson,所以在很多地方和C语言类似,(比如struct、Printf、&取值符)

C/C++也作为很多初学初学的语言,它们都是直接编译为机器码,所以执行效率会更高,并且都不需要执行环境,用户的使用成本会更低,不像很多语言还需要安装所需的环境。

也因为这些原因,它们的一次编码或编译只适用于一种平台,对于不同操作系统而言,有时需要修改编码再编译,有时直接重新编译即可。

而且对于开发者也”很不友好”?,需要自己处理垃圾回收(GC)的问题。编码时,还需要考虑,堆上的内存什么时候free、delete?代码会不会造成内存泄露、不安全?

2、Java

自己作为一个从Java来学习Go的菜鸟,还未正式开发,就感到开发效率会比Java低了(个人感觉,不喜勿喷)~?

Java是直接编译成字节码(.class),这种编译产物是介于原始编码和机器码的一种中间码。这样的话,Java程序就需要特定的执行环境(JVM)了,执行效率相比会低一些,还可能有虚拟化损失。但是这样也有一个好处就是可以编译一次,多处执行(跨平台)。而且它也是自带GC的

3、JavaScript

和Python一样,JS是一种解释型语言,它们不需要编译,解释后即可运行。所以Js也是需要特定的执行环境(浏览器引擎) 的。

将其代码放入浏览器后,浏览器需要解析代码,所以也会有虚拟化损失。Js只需要浏览器即可运行,所以它也是跨平台的。

再谈Go

看完了前面几种常见语言的简单介绍。C/C++性能很高,因为它直接编译为二进制,且没有虚拟化损失,Go觉得还不错;Java的自动垃圾回收机制很好,Go觉得也不错;Js的一次编码可以适用可以适用多种平台,Go觉得好极了;而且Go天然具备高并发的能力,是所有语言无可比及的。那我们来简单总结一下吧!

自带运行环境Runtime,且无须处理GC问题

Go程序的运行环境可厉害了,其实大部分语言都有Runtime的概念,比如Java,它程序的运行环境是JVM,需要单独安装。对于Java程序,如果不经过特殊处理,只能运行在有JMV环境的机器上。

而Go程序是自带运行环境的,Go程序的Runtime会作为程序的一部分打包进二进制产物,和用户程序一起运行,也就是说Runtime也是一系列.go代码和汇编代码等,用户可以“直接”调用Runtime的函数(比如make([]int, 2, 6),这样的语法,其实就是去调用Runtime中的makeslice函数)。对于Go程序,简单来说就是不需要安装额外的运行环境,即可运行。除非你需要开发Go的程序。

正因为这样,Go程序也无须处理GC的问题,全权交由Runtime处理(反正要打包到一起)。

快速编译,且跨平台

不同于C/C++,对于多个平台,可能需要修改代码后再编译。也不同于Java的一次编码,编译成中间码运行在多个平台的虚拟机上。Go只需要一次编码,就能轻松在多个平台编译成机器码运行。

值得一提的就是它这跨平台的能力也是Runtime赋予的,因为Runtime有一定屏蔽系统调用的能力。

天然支持高性能高并发,且语法简单、学习曲线平缓

C++处理并发的能力也不弱,但由于C++的编码要求很高,如果不是很老练、专业的C++程序员,可能会出很多故障。而Go可能经验不是那么丰厚,也能写出性能很好的高并发程序。

值得一提的就是它这超强的高并发,也是Runtime赋予的去处理协程调度能力。

丰富的标准库、完善的工具链

对于开发者而言,安装好Golang的环境后,就能用官方的标准库开发很多功能了。比如下图所示的很多常用包:

image-20230117173236742

而且Go自身就具有丰富的工具链,(比如:代码格式化、单元测试、基准测试、包管理…)

。。。。。。

很多大厂开始使用Go语言、我们团队为什么使用GoLang,和这些特性,多少都有一些关系吧~

相关推荐:Go视频教程

以上就是为什么越来越多的互联网大厂开始使用Go语言了的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2413821.html

(0)
上一篇 2025年3月3日 00:17:43
下一篇 2025年3月3日 00:18:43

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • linux上怎么安装配置golang

    在linux系统中,安装golang是一项非常重要的任务,因为这个编程语言已经被广泛应用于开发各种应用程序,并且由于其高效的性能和强大的扩展性,越来越多的开发者开始使用它。 在本文中,我们将向您介绍如何在Linux系统中安装Golang,以…

    编程技术 2025年3月3日
    200
  • 如何下载Golang的安装包

    golang是一门开源的编程语言,由google开发。在各个领域都有着广泛的应用,其高效性和简介性受到了开发者的青睐。安装好golang,是进行相关开发的第一步。这篇文章将会告诉你如何下载golang的安装包。 在官网下载 Golang官方…

    编程技术 2025年3月3日
    200
  • mac怎么安装golang

    mac安装golang的方法:1、进入GO语言官方,然后下载包文件,按照提示安装Go;2、将Go分发包安装到“/usr/local/go”;3、将“/usr/local/go/bin”目录放在PATH环境变量中;4、编辑“~/.zshrc”…

    2025年3月3日 编程技术
    200
  • 聊聊Go语言中new和make关键字有什么区别

    本篇文章来介绍一道非常常见的面试题,到底有多常见呢?可能很多面试的开场白就是由此开始的。那就是 new 和 make 这两个内置函数的区别。 其实这个问题本身并不复杂,简单来说就是,new 只分配内存,而 make 只能用于 slice、m…

    2025年3月3日
    200
  • golang能做什么

    golang,或者叫做go语言,是一种开源的编程语言。与python、java、c++等一样,golang也有着自己的优点和特点。在当前互联网发展迅速的背景下,golang已经被越来越多的开发者所认可和使用。那么,golang能够做什么呢?…

    编程技术 2025年3月3日
    200
  • 浅析centos上怎么安装golang

    centos是一款非常流行的linux发行版,它被广泛用于服务器、桌面电脑、虚拟机等各种场景。而golang是google推出的一门编程语言,被广泛应用于后端服务开发、云计算、大数据处理等领域。 在本篇文章中,我们将会介绍如何在CentOS…

    编程技术 2025年3月3日
    200
  • golang中怎么进行类型转换

    golang(go)是一种编程语言,最近在开发实践中越来越受欢迎,特别是在web和分布式系统应用程序开发方面。在go中,类型转换是一种将一个数据类型转换为另一个类型的过程。本文将探讨golang中的类型转换,包括其语法,用法和注意事项。 语…

    编程技术 2025年3月3日
    200
  • golang 转ascii

    golang转ascii: 一种快速而简单的方法 Golang是一种简单而高效的编程语言,得到了广泛的应用。在某些情况下,您可能需要将字符串转换为ASCII格式,以在网络上使用它们。以下是一种快速而简单的方法来达到这个目的。 首先,您需要决…

    编程技术 2025年3月3日
    200
  • golang 中文乱码怎么办

    golang是一种流行的编程语言,也被称为go语言。它是由google开发的一种开源项目,其简洁的语法和高效的并发性能得到了许多开发人员的青睐。但是,在使用golang进行开发的过程中,开发者可能会遇到中文乱码问题。这个问题可能会导致显示异…

    编程技术 2025年3月3日
    200
  • golang mac是怎么安装的

    golang是一种简单、快速、安全且具有高效并发的程序设计语言。它可以在各种操作系统上使用,包括macos。在本篇文章中,我们将讨论如何在macos上安装golang。 一、下载Golang在开始安装之前,需要从https://golang…

    编程技术 2025年3月3日
    200

发表回复

登录后才能评论