首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Go语言学习(1)-简介

Go语言的三个作者是:Robert Giresemer,Rob Pike 和 Ken Thompson

Robert 在开发Go之前是Google V8、Chubby和HotSpot JVM的主要贡献者;

Rob主要是Unix、UTF-8、plan 9的作者;

Ken主要是B语言、C语言的作者、Unix之父。

Go语言的主要发展过程

2007年9月,Rob Pike正式命名为Go

2008年5月,Google全力支持该项目;

2009年11月,Go将代码全部开源,它获得了当年的年度语言;

2012年3月28日,Go发布第一个正式的稳定版

Go语言的特点

1.设计Go语言是为了解决当时Google开发者遇到的问题

大量的 C++代码,同时又引入了Java和Python

成千上万行的代码

分布式的编译系统

数百万的服务器

2.Google开发中的痛点:

编译慢

失控的依赖

每个工程师只是用了一个语言里面的一部分

程序难以维护

交叉编译困难

3.如何解决当时的问题和痛点

Go希望成为互联网时代的C语言,因此,Go语言也是足够简单

设计Go语言的目标是为了消除各种缓慢和笨重、改进各种低效和扩展性

4.Go语言的特点

没有继承多态的面向对象

强一致性类型

interface不需要显示声明

没有异常处理

基于首字母的可访问特性

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

完美而卓越的标准库包

Go语言的优势

1.学习曲线容易

Go语言的语法简单,包含了类C语法。所以Go语言容易学习

2.快速的编译时间、开发效率和运行效率高

Go语言拥有接近C的运行效率和接近PHP的开发效率

3.出身名门、血统纯正

Go语言出自Google公司,Google对这个新的宠儿还是很看重的

4.自由高效:组合的思想、无侵入式的接口

Go语言可以说是开发效率和运行效率的完美结合。天生的并发编程支持,Go语言支持所有的编程范式,包含过程式编程、面向对象编程、面向接口编程、函数式编程

5.强大的标准库

包括互联网应用、系统编程和网络编程,它里面的标准库基本上非常稳定了

6.部署方便:二进制文件、拷贝部署

7.简单的并发

Go是一种非常高效的语言,高度支持并发性。Go是为大数据、微服务、并发而生的一种编程语言。

Go作为一门语言致力于使事情简单化,他并未引入很多新概念,而是聚焦于打造一门简单的语言,他使用起来异常快速和简单,其唯一的创新之处是goroutine和通道。Goroutines是Go面向线程的轻量级方法,而通道是goroutines之间通信的优先方式。

创建Goroutines的成本很低,只需要几千个字节的额外内存,正因为如此,才使得同时运行数百个甚至数千个goroutines成为可能。可以借助通道实现Gotoutines之间的通信。Gotoutines以及基于通道的并发性方法使其非常容易使用所有的CPU内核,并处理并发的IO。

8.稳定性

Go拥有强大的编译检查、严格的编码规范和完整的软件生命周期工具,具有很强的稳定性。Go提供了软件生命周期(开发、测试、部署、维护等等)的各个环节的工具,如:go tool、gofmt、go test。

Go语言的核心特性和优势

Go主要有静态语言、天生并发、内置GC、安全性高、语法简单、编译快速这几个方面的特性,这些特性决定了Go的三个高富帅特性:运行快、开发快、部署快。

Go语言能开发什么

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

分布式系统,数据库代理器等,例如:Etcd。

网络编程,包括Web应用,API应用,下载应用等

数据库操作

开发云平台

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181104G1LQV600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券