1. 聚能聊>
  2. 话题详情

GO语言适用场景及GO语言的优势

Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。

  Go是谷歌2009发布的第二款编程语言。2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用的一种BASIC语言.
  北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。

谷歌资深软件工程师罗布·派克(Rob Pike)表示,“Go让我体验到了从未有过的开发效率。”派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,“使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。”

  2007年,谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%, 投入在该项目上。除了派克外,该项目的成员还有其他谷歌工程师也参与研发。
  派克表示,编译后Go代码的运行速度与C语言非常接近,而且编译速度非常快,就像在使用一个交互式语言。现有编程语言均未专门对多核处理器进行优化。Go就是谷歌工程师为这类程序编写的一种语言。它不是针对编程初学者设计的,但学习使用它也不是非常困难。Go支持面向对象,而且具有真正的闭包(closures)和反射 (reflection)等功能。
  在学习曲线方面,派克认为Go与Java类似,对于Java开发者来说,应该能够轻松学会 Go。之所以将Go作为一个开源项目发布,目的是让开源社区有机会创建更好的工具来使用该语言,例如 Eclipse IDE中的插件。
  在谷歌公开发布的所有网络应用中,均没有使用Go,但是谷歌已经使用该语言开发了几个内部项目。派克表示,Go是否会对谷歌即将推出的Chrome OS产生影响,还言之尚早,不过Go的确可以和Native Client配合使用。他表示“Go可以让应用完美的运行在浏览器内。”例如,使用Go可以更高效的实现Wave,无论是在前端还是后台。
  Go 同时具有两种编译器,一种是建立在GCC基础上的Gccgo,另外一种是分别针对64位x64和32位x86计算机的一套编译器(6g和8g)。谷歌目前正在研发其对ARM芯片和Android设备的支持。派克表示,“Android手机存在的问题是,我们一直没有一个数学协处理器。”

问题:
1、你使用GO语言做过什么项目开发?
2、你认为GO语言的优势在哪里?
3、你最喜欢GO语言的什么特点?

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    手机话费 x 3

  • 奖品二

    定制保温杯 x 1

  • 奖品三

    野营灯 x 1

18个回答

4

韩俊强 已获得野营灯 复制链接去分享

野营灯照亮你的美~
1、你使用GO语言做过什么项目开发?

目前只做相关的性能检测,并未接入大的项目;

2、你认为GO语言的优势在哪里?

1.性能优越感;Go 极其地快,其性能与 Java 或 C++相似。在我们的使用中,Go 一般比 Python 要快 30 倍;
2.序列化/去序列化、排序和聚合中表现优异;
3.开发者效率较高;多种赋值、数据结构、指针、格式化以及内置的 HTTP 库等能使给开发者提供快速着手开发;
4.Go 的并发性方法非常容易上手;
5.编译速度快;
6.增强团队语言聚合力;Go 非常简单,且易于学习。它只提供了基本功能而没有多余。Go 引入的新概念是「defer」声明,以及内置的带有 goroutines 和通道的并发性管理。
7.Go 具备稳定的生态系统;Go 有着强大的工具支持,面向 Redis、RabbitMQ、PostgreSQL、Template parsing、Task scheduling、Expression parsing 和 RocksDB 的稳定的库;
8.GOFMT,强制代码格式;Gofmt 用一种官方的形式规格代码,避免了不必要的讨论;
9.Go 语言对 protocol buffers 和 gRPC 有一流的支持等;

3、你最喜欢GO语言的什么特点?

主要还是比较看着Go的高性能;在我们的使用中,性能高就可以做更多扩展,特别是业务复杂的情况下, 性能是第一保障;使用 Go 建立东西需要更多的时间,但在后续的代码优化上可以节省大量时间。 Go 一般比 Python 要快 30 倍。以下是 Go 与 Java 之间的基准比较:
f397f956d91df08ed90e19929699598b_jpeg

0

aoteman675 已获得手机话费 复制链接去分享

1、你使用GO语言做过什么项目开发?
2013年学习GO语言,但是谷歌宣传是替代Java做完安卓的编程语言,但是后来就没有消息了,只是GO在服务器应用层面上比较多,性能强大。我也是用GO开发过服务器应用软件,相对应地框架很少。
2、你认为GO语言的优势在哪里?
写起来简单,和kotlin一样简单,编译速度快。运行效率高。主要是减少了代码的工作量。
3、你最喜欢GO语言的什么特点?
喜欢它的高效,能和C++和C具有相同的效率,执行效率高,它是系统级语言,如果是服务器软件的开发,我会优先考虑GO语言。

0

小可同学 已获得手机话费 复制链接去分享

1、你使用GO语言做过什么项目开发?
用来做 日志处理、数据打包啥的,项目做过一个小的Web项目

2、你认为GO语言的优势在哪里?
优势很明显,可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。
虽然是静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。

3、你最喜欢GO语言的什么特点?
一个理由!!部署简单

0

cjsoldier 已获得手机话费 复制链接去分享

1、你使用GO语言做过什么项目开发?
项目中没用到过。

2、你认为GO语言的优势在哪里?

  • 多核并行编程。语言层面上针对多核优化,程序员不用直接跟core打交道了。
  • Golang只依赖glibc,这样Golang开发出来的软件几乎能完美地运行在*nix操作系统的服务器上,比如大名鼎鼎的docker就是用Golang写的。
  • 高并发编程。像dgraph,cayley这样的图数据库都是用Golang写的。还有一些对性能要求高的rest服务也是用Golang写的。

3、你最喜欢GO语言的什么特点?

  • 语法简洁,直来直去。不像Java婆婆妈妈的。动不动就public static final String ABCD;
  • 函数返回多个值。我印象中只有脚本语言才有这样的待遇吧。Golang能提供这样的特性,我很欣慰。
  • 省内存。
1

yelifeng 复制链接去分享

暂时只是进行过将go语言写mysql监控脚本改造成python语言的监控脚本

1

微wx笑 复制链接去分享

1、你使用GO语言做过什么项目开发?
Hello World 算不算?

2、你认为GO语言的优势在哪里?
用的不多,主要还是效率吧。

3、你最喜欢GO语言的什么特点?
跨平台,编译后依赖性不强。

0

1959956376254671 复制链接去分享

1、你使用GO语言做过什么项目开发?

科学上网工具算不算,闲来无聊用go写了一款自己的扶墙软件。还有一个go的json解析库

2、你认为GO语言的优势在哪里?

1.它对并发的支持度高,go程一个关键字解决。
2.简单的语法,作为编译型语言,语法是真的简单。
3.部署简单,提前编译后就一个运行文件,不过现在可以使用插件功能,也可以动态链接。如果不是提前编译其实环境只要go的编译环境和git就行了。现在包管理mod就能解决依赖,写好脚本很容易部署。
4.cgo,可以使用c语言,同样可以使用c的动态库和静态库,这个不错。不过好像其他语言都有这个功能。

3、你最喜欢GO语言的什么特点?

在2中所讲都喜欢。此外,我喜欢它的简单,就是因为它看起来原始才让我觉得亲切。没有泛型就很简单啊,没有try catch就很有逻辑啊。诶,可能我就适合c、go这些简单的语言吧

0

hellohugo 复制链接去分享

强大的go语言

0

peach5460 复制链接去分享

1、你使用GO语言做过什么项目开发?

目前还没用go写过项目,正在学习中

2、你认为GO语言的优势在哪里?

谷歌出品,语法简单

3、你最喜欢GO语言的什么特点?

类c++学习成本低

0

nemovip 复制链接去分享

1.性能优越感;Go 极其地快,其性能与 Java 或 C++相似。在我们的使用中,Go 一般比 Python 要快 30 倍;
2.序列化/去序列化、排序和聚合中表现优异;
3.开发者效率较高;多种赋值、数据结构、指针、格式化以及内置的 HTTP 库等能使给开发者提供快速着手开发;
4.Go 的并发性方法非常容易上手;
5.编译速度快;
6.增强团队语言聚合力;Go 非常简单,且易于学习。它只提供了基本功能而没有多余。Go 引入的新概念是「defer」声明,以及内置的带有 goroutines 和通道的并发性管理。
7.Go 具备稳定的生态系统;Go 有着强大的工具支持,面向 Redis、RabbitMQ、PostgreSQL、Template parsing、Task scheduling、Expression parsing 和 RocksDB 的稳定的库;
8.GOFMT,强制代码格式;Gofmt 用一种官方的形式规格代码,避免了不必要的讨论;
9.Go 语言对 protocol buffers 和 gRPC 有一流的支持

0

1914500535475426 复制链接去分享

系统级编译语言。。。。。。。。。。。。。。。。。。。。。。。。great

0

好人卡小高 复制链接去分享

1、你使用GO语言做过什么项目开发?
没做过go的项目开发
2、你认为GO语言的优势在哪里?
性能强劲,比起python的效率高了不是一点点,而且没有java这么臃肿。
3、你最喜欢GO语言的什么特点?
依赖性不强,编译好的东西丢上去就能跑,不用像python装各种库,也不需要像java那样依赖jvm。唯一想吐槽的是编译时候的依赖有一部分都被伟大的墙给拦截了,不能翻墙的话,就特别痛苦。特别是在做jenkins编译发布的时候,简直要疯了

0

浮生递归 复制链接去分享

1、你使用GO语言做过什么项目开发?
虽然是2007年出的语言,最近看到的报道也比较多,但是我还没使用过go语言。毕竟新语言太多了,来不及都学。而且学习的目的不是为了学习,是为了应用,所以我都是学的少,用的多,不够用了才去学。

2、你认为GO语言的优势在哪里?
编译速度快,开发效率高。还有谷歌这座大山作为后盾。

3、你最喜欢GO语言的什么特点?
这个问题跟第二个问题有交集啊...go语言的零值初始化,自动推导类型,多值返回,垃圾回收这些特点我都比较喜欢~~

0

快递 复制链接去分享

你使用GO语言做过什么项目开发?
项目中没用到过。

0

欲楼 复制链接去分享

可以写压测工具,利用其非常优越的协程

0

zhaog 复制链接去分享

我们用go写容器类的服务,主要看中了go运行时对环境较少的依赖,一个二进制执行文件,无论放在什么镜像环境,都是即插即用

0

1717222283513466 复制链接去分享

这是专业人事用的,我不会,需要老百姓关注的话题。谢谢