引言
本文是第一天课程内容的总结,介绍了GO语言的特点,以及GO语言的基础语法。
GO语言的起源
Go语言有时候被描述为“类C语言”,因为Go从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等很多思想。
但是在Go语言的家族树中还有其它的祖先。其中一个分支是Pascal语言。后来,Modula-2语言激发了包的概念。更有Oberon语言摒弃了模块接口文件和模块实现文件之间的区别。第二代的Oberon-2语言直接影响了包的导入和声明的语法,还有Oberon语言的面向对象特性所提供的方法的声明语法等。
Go语言的另一支祖先,带来了Go语言区别其他语言的重要特性,灵感来自于贝尔实验室的Tony Hoare于1978年发表的鲜为外界所知的关于并发研究的基础文献 顺序通信进程 ( communicating sequential processes ,缩写为CSP。
参考:
Go语言圣经-前言部分
GO语言的特点
GO语言是谷歌公司触屏的一门通用型编程语言,课程介绍了GO语言的八个特点。
1.高性能,高并发
不需要寻找第三方库。
2.语法简单、学习曲线平缓
GO语言的语法类似C语言,但经过了大幅度简化,容易上手。
3.丰富的标准库
GO语言类似python,有大量标准库,并且标准库有很大的稳定性及兼容性保障,可以持续享受GO语言的性能优化。
4.完善的工具链
编译代码,代码的错误检查,代码的补充提示等有对应的工具。GO语言还有完整的单元测试框架,有利于保障代码稳定进行。
5.静态链接
GO语言的所有编译默认为静态链接,部署运行不需要附加文件。
6.快速编译
GO语言拥有极快的编译速度。
7.跨平台
GO语言能在多种环境中运行,无需配置交叉编译环境。
8.垃圾回收
GO语言自带垃圾回收,和java类似,无需担心内存的分配释放。
GO语言基础语法
GO语言的变量类型
常见的变量类型有字符串、浮点数、布尔值等,可以直接通过加号“+”拼接,也可以通过等于号“=”进行比较。以下将介绍最基础的"Hello,World!"
Hello World
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
第一块 package main
表明,属于main包的一部分
第二块 import
导入了fmt包。fmt包主要用来输入输出字符串,格式化字符串。
第三块 func main
调用了main包的函数fmt.Println来输出"Hello,World!"
以下为运行结果:
Hello, World!
Process finished with the exit code 0