学习一门语言,首先要了解该语言的特点。

Go简介

Golang也称为Go,是一种静态强类型、编译型、并具有垃圾回收功能的编程语言。它也是一种开源编程语言,快,简单,可靠和高效,它是通过结合C++的性能和安全有事而形成的。

Go语言设计原则

  • 支持与动态语言类似的适应周围环境的模式;
  • 编译时间非常快;
  • 支持内置并发,例如轻量级进程通道和select语句;
  • go语言非常简洁,简单和安全;
  • 支持接口和嵌入类型;
  • 不需要任何外部依赖项来生成静态链接的本机二进制文件。

Go语言特点

语言设计

Go语言的设计者有意识地保持语言简单易懂。

包管理

Go将现代开发人员处理开源项目的工作流合并在一起,并将其包含在管理外部包的方式中。工具中直接提供了对获取外部包和用一组简单命令发布您自己的包的支持。

强大的标准库

Go具有强大的标准库,以包的形式分发

静态类型

Go是静态类型语言。所以在编译器中,不仅可以成功编译代码,还可以确保类型转换和兼容性。由于这个特性,Go避免了我们在动态类型语言中遇到的所有问题。

测试支持

Go本身为我们提供了单元测试功能。简单来说:这是一种简单的机制,可以将单元测试与代码并行地编写;因此我们可以通过自己的测试了解代码覆盖率。

平台独立

Go语言就像Java语言一样,支持平台独立。由于其模块化设计和模块化,即代码被编译并转换为尽可能小的二进制形式,因此,它不需要依赖性。它的代码可以在任何平台上编译,也可以在任何服务器和应用程序上编译。

Go优缺点

优点

  • 简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等;
  • 充分的利用多核,很容易的使用并发;
  • 可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了;
  • 静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高;
  • 具有丰富的标准库;
  • 擅长对内存分配进行大量控制,并大大减少了垃圾收集器的延迟;

缺点

  • Go 语言没有一个主要的框架;
  • 它不支持泛型,即使有很多关于它的讨论;
  • 使用这种编程语言分发的软件包非常有用,但Go在传统意义上并不是面向对象的;
  • 缺少一些库,尤其是UI工具包;
  • Go 语言通过函数和预期的调用代码简单地返回错误(或返回调用堆栈)而帮助开发者处理编译报错。虽然这种方法是有效的,但很容易丢失错误发生的范围,因此我们也很难向用户提供有意义的错误信息。

撰写风格

  • 每行程序结束后不需要撰写分号;;
  • 大括号{不能够换行放置。
  • if判断式和for循环不需要以小括号包覆起来。

Go有内置的gofmt工具,能够自动整理代码多余的空白、变量名对齐,并对对齐空格转换成Tab

文章来源于互联网,如有雷同请联系站长删除:Go学习笔记之Go的优缺点

发表评论