您的位置:首页 > 编程语言 > Go语言

Go -- 初识 Go 语言

2018-03-30 00:09 309 查看

Go 语言介绍

Go 语言是什么

2009 年 11 月 10 日,Go 语言正式成为开源编程语言家庭的一员。

Go 语言(或简称 Golang)是云计算时代的 C 语言。Go 语言的诞生是为了让程序员有更高的生产效率,Go 语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

开发人员在为项目选择语言时,不得不在快速开发和性能之间做出选择。C 和 C++ 这类语言提供了很快的执行速度,而 Ruby 和 Python 这类语言则擅长快速开发。Go 语言在这两者间架起了桥梁,不仅提供了高性能的语言,同时也让开发更快速。

Go 语言优势

可以直接编译成机器码,不依赖其他库,glibc 的版本有一定要求,部署就是扔一个文件上去就完成了。

静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。

语言层面支持并发,这个就是 Go 最大的特色,天生的支持并发。Go 就是基因里面自持的并发,可以充分的利用多核,很容易的使用并发。

内置 runtime,支持垃圾回收,这属于动态语言的特性之一吧,虽然目前来说GO(内存垃圾回收机制)不算完美,但是足以应付我们所能遇到的大多数问题,特别是 Go 1.1 之后的 GC。

简单易学,Go 语言的作者都有 C 的基因,那么 Go 自然而然就有了 C 的基因,那么 Go 关键字是 25 个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。

丰富的标准库,Go 目前已经内置了大量的库,特别是网络库非常强大。

内置强大的工具,Go 语言里面内置了很多工具链,最好的应该是 gofmt 工具,自动化格式化代码,能够让团队 review 变得如此的简单,代码格式一模一样,想不一样都很困难。

跨平台编译,如果你写的 Go 代码不包含 cgo,那么就可以做到 windows 系统编译 linux 的应用,如何做到的呢?Go 引用了 plan9 的代码,这就是不依赖系统的信息。

内嵌 C 支持,Go 里面也可以直接包含 C 代码,利用现有的丰富的 C 库。

Go 适合用来做什么

服务器编程,以前你如果使用 C 或者 C++ 做的那些事情,用 Go 来做很合适,栗如处理日志、数据打包、虚拟机处理、文件系统等。

分布式系统,数据库代理器等。

网路编程,这一块目前应用最广,包括 Web 应用、API 应用、下载应用。

内存数据库,如 Google 开发的 groupcache、couchbase 的部分组建。

云平台,目前国外很多云平台在采用 Go 开发,CloudFoundy 的部分组件,前 VMware 技术总监自己出来搞得 apcera 云平台。

环境搭建

安装和设置

Getting Started

标准命令概述

Go 语言
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: