go语言基础(三) 常量、变量和数据类型
常量
常量是内存中用于保存固定值的单元,在程序中常量的值不能发生改变。
在Go语言 中定义常量的方法如下:
例
1 | |
变量
变量是内存中命名的存储位置,与常量不同的是变量的值可以动态变化。与常量一 样,变量也有一个名字。
在Go语言中定义变量的方法如下:
例如,下面的代码定义了一个字符串变量str。
1 | |
数据类型
Go语言的布尔型为bool,布尔型常量包括true和false。
例如,下面的代码定义了 一个布尔型变量existed。
1 | |

Go语言支持的浮点型数据类型如下图所示。

派生类型
Go语言的派生类型包括指针、结构体、枚举、数组、切片、集合、接口、通道、函数等。大多数派生类型都比较复杂,本小节只介绍其中比较简单的结构体类型和枚举类型。
(1)结构体类型
结构体是一种自定义的数据类型,即可以由一组不同的数据类型组合成一个新的数据类型。可以使用struct关键字来定义结构体类型,具体方法如下:
type结构体类型struct {
成员定义
成员定义
……
成员定义
}
例如,下面的代码定义了一个Book结构体,其中包含Name(名称)、Author(作者)、Pagecount(页数)和Price(价格)等成员。
1
2
3
4
5
6type Book struct {
Name string;
Author string;
Pagecount uint;
Price uint;
}定义结构体类型后,可以使用如下方法声明结构体变量。
变量:= 结构体类型 {字段值1, 字段值2,…,字段值n}
上面的代码在初始化结构体变量时按照其字段定义的顺序指定字段值,也可以按照 键值对的形式初始化结构体变量,方法如下:
变量:= 结构体类型 {字段名1:字段值1, 字段名2:字段值2,…,字段名n:字段值n}
初始化一个结构体时要指定每个成员的值。
例如,初始化一个Book变量b的方法如 下:
Book b = Book{“ 活着”, “余华”, 350, 90}
可以使用b.Name来访问结构体的成员Name。
运行结果

(2)枚举类型
枚举类型是一种有有限可选值的数据类型,每个可选值都对应一个int值。
在Go语 言中,可以使用const关键字来定义一个枚举类型,方法如下:
type <枚举类型名> int const (
<可选值1> <枚举类型名> = iota//值为0
<可选值2> //值为1
<可选值3> //值为2
<可选值4> //值为3
)
<可选值1>由iota初始化后,后面的可选值会自动递增。<可选值1>对应整型数0,< 可选值2>对应整型数1,<可选值3>对应整型数2,以此类推。
可以使用下面的方法引用枚举类型的可选值。
<枚举类型名>.<可选值n>
参考资料: Go语言Hyperledger区块链开发实战_(李晓黎)