用去语言编程的优缺点是什么

  介绍

小编给大家分享一下用去语言编程的优缺点是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

最近,我们使用去语言编写了一个API,去语言是一种开源编程语言,2009年由谷歌推出。在使用去进行开发的过程中,我们得到了很多经验和心得,想跟读者们分享,于是便有了本文。

在为项目选择编程语言时,我们总是建议,在考虑要使用哪种编程语言进行构建之前,先要了解这个项目将要构建的内容。让产品成为应该如何构建的决定性因素。

下面就是我们在使用去语言进行开发时发现的一些利弊,这些可以帮助你了解去语言是否适合用于构建你的下一个项目。

我们喜欢去的地方

近年来,去语言的使用量呈爆炸式增长。似乎每个初创公司都将它用于后端系统。开发人员认为它如此广受欢迎,背后的原因有很多。

<强>去语言速度非常快

去语言是一门非常快速的编程语言。因为去语言是编译成机器码的,因此,它的表现自然会优于那些解释性或具有虚拟运行时的编程语言.Go程序的编译速度也非常快,并且生成的二进制文件非常小。我们的API在短短几秒钟内就编译完毕,生成的可执行文件区区只有11.5 mb这么小。

<强>易于掌握

与其他语言相比,去语言的语法很简单,很容易掌握。你完全可以把去语言的大部分语法记在脑子里,这意味着你并不需要花很多时间来查找东西.Go语言也非常干净易读。非语言的程序员,尤其是那些习惯于C风格语法的程序员,就可以阅读去程序代码,并且能够理解发生什么事。

<强>静态类型定义语言

去语言是一种强大的静态类型定义语言。有基本类型,如int,字节和字符串。也有结构类型。与任何强类型语言一样,类型系统允许编译器帮助捕获整个类的错误.Go语言还具有内置的列表和映射类型,而且它们也易于使用。

<强>接口类型

去语言有接口类型,任何结构都可以简单地通过实现接口的方法来满足接口。这允许你解耦代码中的依赖项。然后,你可以在测试中模拟你的依赖项。通过使用接口,你可以编写更加模块化的可测试代码.Go语言还具有头等函数,这使得开发人员以更实用的方式编写代码成为可能。

<强>标准库

去语言有一个相当不错的标准库。它提供了方便的内置函数,用于处理基本类型。有些包可以让你轻松构建一个Web服务器,处理I/O,使用加密技术以及操作原始字节。标准库提供的JSON序列化和反序列化非常简单。通过使用“标签”,你可以在结构体字段旁边指定JSON字段名。

<强>测试支持

测试支持内置在标准库中,不需要额外的依赖。如果你有个名为的事情。去的文件,请在另一个名为thing_test。go 的文件中编写测试,并运行“go test”。Go 就将快速执行这些测试。

静态分析工具

Go 语言的静态分析工具众多且强大。一种特别的工具是 gofmt,它根据 Go 的建议风格对代码进行格式化。这可以规范项目的许多意见,让团队奖经理集中在代码所做的工作上。我们对每个构建运行 gofmt、golint 和 vet,如果发现任何警告的话,则构建将会失败。

垃圾收集

在设计 Go 语言时,有意将内存管理设计得比 C 和 C++ 更容易。动态分配的对象是垃圾收集。Go 语言使指针的使用更加安全,因为它不允许指针运算。还提供了使用值类型的选项。

更容易的并发模型

虽然并发编程从来就不是一件易事,但 Go 语言在并发编程要比其他语言更容易。创建一个名为“goroutine”的轻量级线程,并通过“channel”与它进行通信几乎是非常简单的事情,至于更为复杂的模型,也是有可能能够实现的。

我们不喜欢 Go 的地方

正如我们前面讨论过的,Go 语言确实是一门优秀的语言。它有一个干净的语法,执行速度也很快速。它还有很多优点。但是,编程语言的全部并不仅仅是指它的语法。下面是我们遇到的一些问题。

没有泛型

首先,这个问题就像房间里的大象一样,是显而易见而又被忽略的事实。Go 语言没有泛型。对于来自使用 Java 这样的语言的开发者来说,要转向 Go 语言,这是一个需要克服的巨大障碍。这意味着代码的重用级别降低了。虽然 Go 语言有头等函数,但如果编写“map”、“reduce”和“filter”等函数,将这些函数设计为对一种类型的集合进行操作,就不能将这些函数重用于其他不同的类型集合。要解决这一问题有很多方法,但都最终都要涉及到编写更多的代码,如此一来,生产力和可维护性就降低了。

用去语言编程的优缺点是什么