go
开源,编译性语言,语法简单,并行处理封装。常应用于搭载 Web 服务器。
一切皆类型
一个最小可行性编程语言包括对数据结构的支持和对指令流程的支持,可以让程序员实现和操作数据结构,编写指令实现算法。
类型:类型是对数据结构的定义,包括内建类型,扩展类型和自定义类型。每个类型都有对应的零值。
array/slice/pointer/map/chan/struct/interface都是复合类型。
内建类型:不需要使用type关键字定义,直接可以使用的类型。
整数类型:分为无符号整型和有符号整型。
布尔类型:类型名:bool ,取值范围:true/false
浮点类型:类型名:float32/float64。有整数部分/小数点/小数部分组成,另外一种方式是加入指数部分:3.9E-2或者3.9e-2。
复数类型;类型名:complex64和complex128。complex64类型的值会由两个float32类型的值分别表示复数的实数部分和虚数部分。而complex128类型的值会由两个float64类型的值表示复数的实数部分和虚数部分。
字符串类型:类型名:string。字符串的字节默认使用 UTF-8 编码,支持 Unicode 字符。有两种表示法:原生表示法和解释型表示法。
引用类型:引用类型和原始的基本类型恰恰相反,它的修改可以影响到任何引用到它的变量。在Go语言中,引用类型有切片、map、接口、函数类型以及chan。
引用类型之所以可以引用,是因为我们创建引用类型的变量,其实是一个标头值,标头值里包含一个指针,指向底层的数据结构,当我们在函数中传递引用类型时,其实传递的是这个标头值的副本,它所指向的底层结构并没有被复制传递,这也是引用类型传递高效的原因。