Go 语法基础(一)| 青训营笔记

91 阅读2分钟

语言类型

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算

包管理

Go 语言中支持模块化的开发理念,在 Go 语言中使用包(package)来支持代码模块化和代码复用。一个包是由一个或多个 Go 源码文件(.go 结尾的文件)组成,是一种高级的代码复用方案,Go 语言为我们提供了很多内置包,如 fmtosio

基础数据类型

整型

Go 语言同时提供了有符号和无符号类型的整数运算。有符号整数包括 int8int16int32int64 四种类型,分别对应 8、16、32、64 bit 大小的有符号整数,与此对应的是 uint8uint16uint32uint64 四种无符号整数类型

var u uint8 = 255

浮点数

Go 语言提供了两种精度的浮点数,float32float64。它们的算术规范由 IEEE 754 浮点数国际标准定义,该浮点数规范被所有现代的 CPU 支持

var f float32 = 16777216

复数

Go 语言提供了两种精度的复数类型:complex64complex128,分别对应 float32float64 两种浮点数精度。内置的 complex 函数用于构建复数,内建的 realimag 函数分别返回复数的实部和虚部

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