27

1、初识 Go 语言

 4 years ago
source link: https://www.tuicool.com/articles/AzA36vE
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

1 概述

什么是 Go 语言?首先献上 Go 官网( https://golang.org/ )上的一句话:

Go is an open source programming language that makes it easy to build simplereliable , and  efficient software.

翻译过来就是,Go 是一种可轻松构建简单、可靠和高效软件的开源编程语言。展开来说,它是 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,被誉为是未来的服务器端编程语言

Go 又称 Golang,其雏形诞生于2007年,由 Google 的三位神人(如下图)领头开发,于2009年有了第一个版本,并在 Linux 及 MacOSX 平台上进行了实现,后追加了 Windows 系统下的实现

Nvaq6jJ.png!web

Go 语言发明者

目前,用 Go 语言开发的应用越来越多,常见的有 docker, kubernetes, ethereum (以太坊)

2 Go 语言特点

正如 Go 官网上所说,其有三大特性:简单、可靠、高效

简单 :从关键字上就能可见一斑,相较于 C 的37个和 C++ 的84个关键字,Go 只有25个关键字,而且创始人坚持 Go 将只有这些关键字

可靠 :相比于其它的编程语言,Go 更加可靠。比如:虽然提供了指针直接访问内存的机制,但是不像 C/C++ 可以那么灵活地操作指针,同时提供了垃圾回收机制;相较于 Java 那么多常见的异常,Go 可能产生异常的情况比较少

高效 :快速的编译速度,开发效率和运行效率高。开发过程中相较于 Java 和 C++ 呆滞的编译速度,Go 的快速编译时间是一个主要的效率优势。Go 拥有接近 C 的运行效率和接近 PHP 的开发效率

具体来说,Go 具体以下的特点:

1)没有继承多态的面向对象

2)interface 不需要显式声明 (Duck Typing)

3)强一致类型

4)没有异常处理 (Error is value)

5)基于首字母大小写的可访问特性

6)不用的 import 或者变量引起编译错误

7)完整而卓越的标准库包,内置 runtime(作用是性能监控、垃圾回收等)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK