语言类型
Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算
包管理
Go 语言中支持模块化的开发理念,在 Go 语言中使用包(package)来支持代码模块化和代码复用。一个包是由一个或多个 Go 源码文件(.go 结尾的文件)组成,是一种高级的代码复用方案,Go 语言为我们提供了很多内置包,如 fmt、os、io 等
基础数据类型
整型
Go 语言同时提供了有符号和无符号类型的整数运算。有符号整数包括 int8、int16、int32 和 int64 四种类型,分别对应 8、16、32、64 bit 大小的有符号整数,与此对应的是 uint8、uint16、uint32 和 uint64 四种无符号整数类型
var u uint8 = 255
浮点数
Go 语言提供了两种精度的浮点数,float32 和 float64。它们的算术规范由 IEEE 754 浮点数国际标准定义,该浮点数规范被所有现代的 CPU 支持
var f float32 = 16777216
复数
Go 语言提供了两种精度的复数类型:complex64 和 complex128,分别对应 float32 和 float64 两种浮点数精度。内置的 complex 函数用于构建复数,内建的 real 和 imag 函数分别返回复数的实部和虚部
var x complex128 = complex(1, 2) // 1+2i
var y complex128 = complex(3, 4) // 3+4i
fmt.Println(x*y) // "(-5+10i)"
fmt.Println(real(x*y)) // "-5"
fmt.Println(imag(x*y)) // "10"
布尔型
Go 语言中不允许将整型强制转换为布尔型,即不存在 “非 0 即 true”
字符串
一个字符串是一个不可改变的字节序列。字符串可以包含任意的数据
s := "hello, world"
t := s[0:len(s)]
常量
常量表达式的值在编译期计算,而不是在运行期。每种常量的潜在类型都是基础类型:boolean、string 或数字
const pi = 3.14159