go语法基础
概述
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
语法特色
- 简洁、快速、安全
- 并行、有趣、开源
- 内存管理、数据安全、编译迅速
Go 语言用途
Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。
思考:与其他语法区别
设计Go语言是为了解决当时Google开发遇到的问题:
-
大量的C++代码,同时又引入了Java和Python
-
成千上万的工程师
-
数以万计行的代码
-
分布式的编译系统
-
数百万的服务器
Google开发中的痛点:
-
编译慢
-
失控的依赖
-
每个工程师只是用了一个语言里面的一部分
-
程序难以维护(可读性差、文档不清晰等)
-
更新的花费越来越长
-
交叉编译困难
如何解决
Go希望成为互联网时代的C语言。多数系统级语言(包括Java和C#)的根本编程哲学来源于C++,将C++的面向对象进一步发扬光大。但是Go语言的设计者却有不同的看法,他们认为值得学习的是C语言。C语言经久不衰的根源是它足够简单。因此,Go语言也是足够简单。 所以,设计Go的目标是为了消除各种缓慢和笨重、改进各种低效和扩展性。Go是由那些开发大型系统的人设计的,同时也是为了这些人服务的;它是为了解决工程上的问题,不是为了研究语言设计;它还是为了让我们的编程变得更舒适和方便。 但是结合Google当时内部的一些现实情况,如很多工程师都是C系的,所以新设计的语言一定要易学习,最好是类似C的语言;20年没有出新的语言了,所以新设计的语言必须是现代化的(例如内置GC)等情况。最后根据实战经验,他们向着目标设计了Go这个语言。 4、Go语言的特色: 没有继承多态的面向对象 强一致类型 interface不需要显式声明(Duck Typing) 没有异常处理(Error is value) 基于首字母的可访问特性 import或者变量引起编译错误 完整而卓越的标准库包 Go内置runtime(作用是性能监控、垃圾回收等)