Go之语法特性总结
最近抽了几个小时快速浏览了Go的特性,参考其官方指引A Tour of Go,如果本地安装了go环境,也可以通过命令go tool tour
直接访问本地版本。总结一下我的感受,
- 简洁
- 为服务开发而生
官方指引总将Go的特性总结为5块,
- Packages, variables, and functions. 介绍基础数据类型,变量,包和函数等特性。
- Flow control statements: for, if, else, switch and defer. 逻辑控制,与主流语言基本相同,但是却将一些可有可无的内容进行简化,比如G的循环没有while,全是for。
- More types: structs, slices, and maps. 基本容器以及相关操作。
- Methods and interfaces.Go中没有类,而是将类拆解为Method,Interface和Struct,可能绝对OO太重。基于性能考虑,Go中显示支持指针,开发者可以自己决定是否需要值拷贝。由于指针直接操作内存,容易出错,除了C/C++,主流语言很少支持指针。一向以简介而著称的Go的竟然支持此特性,侧面说明Go十分注重性能。
- Concurrency. 此特性足以说明Go为服务开发而生。Go将多线程,管道通信,锁等服务器开发基础特征直接作为内置特性支持,而不是想其他语言那样作为扩展部分。
所以,从目前来看,Go的简洁和服务器开发的特性,看似可以解决我们的燃眉之急。实践是检验真理的唯一标准,希望几个月回头看这篇博客时,我的脸上是挂着微笑。
您的打赏是对我最大的鼓励!