天天看点

Go语言学习---day1

Go语言语法标准:LALR,即在编译时不需要符号表来协助解析

Go语言特性:

        1.从本质上(程序和结构方面)来实现并发编程。

        2.没有类和继承的概念,它通过接口(interface)的概念来实现多态性。Go 语言有一个 清晰易懂的轻量级类型系统,在类型之间也没有层级之说。

       3. Go 语言使用静态类型,它是类型安全的一门语言,作为强类型语言,隐式的类型转换不被允许的。原则:让所有的东西都是显式的。

       4.Go 语言也有一些动态语言的特性(通过关键字 

var

       5.Go 语言支持交叉编译,完全支持 UTF-8 的编程语言

用途:

        Go 语言是一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。对于高性能分布式系统领域而言,Go 语言有着更高的开发效率。它提供海量并行的支持,对于游戏服务端的开发极好。

        Go 语言一个目标就是实现复杂事件处理(CEP),该技术要求海量并行支持,高度的抽象化和高性能,物联网时代用处极大

        也可以用于实现一般目标的语言

        但是由于垃圾回收和自动内存分配的原因,Go 语言不适合用来开发对实时性要求很高的软件。

缺陷:  

        为了简化设计,不支持函数重载和操作符重载

        为了避免在 C/C++ 开发中的一些 Bug 和混乱,不支持隐式转换

        Go 语言通过另一种途径实现面向对象设计来放弃类和类型的继承

        尽管在接口的使用方面可以实现类似变体类型的功能,但本身不支持变体类型

        不支持动态加载代码

        不支持动态链接库

        不支持泛型

        通过 

recover

 和 

panic

 来替代异常机制

        不支持静态变量

文件扩展名与包(package):Go 语言源文件的扩展名为:  

.go