一、了解go:
1、Go语言的来历:google20%时间的产物。
2、Go 语言是一门年轻的语言
3、Go语言生于2006年,2009年开源,2012年发布稳定版。
二、go特点:
1、Go 语言从底层原生支持并发,无需第三方库、开发者的编程技巧和开发经验
2、Go 语言并发是基于goroutine的,可以将goroutine理解成一种虚拟线程。
3、Go 语言在运行时会参与调度goroutine,并将goroutine合理分配给每个CPU中,最大限度地使用CPU性能,开启一个goroutine消耗非常小(大概2KB的内存),你可以轻松创建百万个goroutine
注:Goroutine的特点:
具有可增长的分段堆栈,这意味着它们只有在需要时才会使用更多的内存。
启动时间比线程快
原生支持利用channel安全地进行通信
共享数据结构式无需使用互斥锁
三、go语言的优点:
1、自带gc
GC是什么:GC的本质是内存的自动管理,用来回收堆(Heap)中不再需要(使用)的对象。
2、静态编译、编译好后,扔给服务器直接运行
3、丰富的库和详细的开发文档
4、语言层支持并发、和拥有同步并发的channel类型,使并发开发编的非常方便
5、简单的语法,提高开发效率,同时更改环境变量
四、go语言的主要特征:
1、自动立即回收。
2、更丰富的内置类型。
3、函数多返回值。
4、错误处理。
5、匿名函数和闭包。
6、类名和类型。
7、并发编程。
8、反射。
9、语言交互性。
五、go函数、常量、变量等命名方式:
首字符可以任意的unicode字符或者下划线
注:Unicode字符:Unicode又称为统一码、万国码、单一码,是国际组织制定的旨在容纳全球所有字符的编码方案,包括字符集、编码方案等,它为每种语言中的每个字符设定了统一且唯一的二进制编码,以满足跨语言、跨平台的要求。
剩余字符可以是unicode字符、下划线、数字
字符长度不限
六、go语言关键字、保留字:
Go语言关键字(25个):
break, default, func, interface, select,
case,defer, go, map, struct, chan, else,
goto,package, switch, const, fallthrogh,
if,range, type, continue, for, import, return,var
Go还有37个保留字:
Constants:true, false, iota, nil
Types:int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,uintptr float32,float64,complex128,complex64,bool,byte,rune,string,error
Functions:make,len,cap,new,append,copy,close,delete,complex,real,imag,panic,recover
七、Go项目构建及编译:
一个go工程中包含一下三个母鹿(目录、文件):
Src:源代码文件
Pkg:包文件
Bin:相关bin文件
在安装golang之后,配置存储文件GOPATH的时候用到。
注:内容文字较多,有出错地方请指正,谢谢!