前言
上一章节中,我们已经熟练的写出了helloWorld,那么学习一门编程语言,我们肯定得知道他有哪些数据类型,以及我们会经常用到东,那我们现在就进入学习go的数据类型以及结构体
数据类型
所谓基本数据类型,我们在其他语言中肯定很熟悉,比如java中的int、byte、short、boolean等,那么go语言中,也肯定会有基本数据类型,现在我们就来基本掌握一下。
1、布尔型
也就是我们常说的布尔值,只有true或者false。
var b bool = false;
值得注意的是bool在没有赋值的时候,初始化给的默认值为false;
2、数字类型
go语言中,整型又有很多种,下面一一进行说明
类型 | 说明 |
---|---|
uint8 | 无符号8位整数,0 ~ 2^8 -1 |
uint16 | 无符号16位整数,0 ~ 2^16 - 1 |
uint32 | 无符号32位整数,0 ~ 2^32 - 1 |
uint64 | 无符号16位整数,0 ~ 2^64- 1 |
int8 | 8位整数,-2^4 ~ 2^4 - 1 |
int16 | 16位整数,-2^8 ~ 2^8 - 1 |
int32 | 32位整数,-2^16 ~ 2^16 - 1 |
int64 | 64位整数,-2^32 ~ 2^32- 1 |
var i int32 = 10;
整数类型默认值为0
3、浮点类型
go语言的浮点类型包含了两种,一个是float,另一个是complex(虚数)
浮点类型与整数类型差不多都会有位数的限制,float有32位和64位,虚数有64和128,浮点类型默认值为0.0000
4、字符串类型
同样,字符串也是我们常用的数据类型,go中的字符串与java的一样,不过是小写的string,默认值为空字符串""
var str string = "hello world";
结构体
go语言中,有一个结构体,实际上,它与java的实体相当于同一个东西,可以认为他就是实体。例如:
type UserEntity struct{
Name string `json:"name"`
Age uint8 `json:"age"`
CreatedAt int64 `json:"createdAt"`
}
上面代码就是一个简单的结构体,时间日期可以使用Time.time,上述结构就是 字段名 字段类型 json字段名,在使用json序列化时,就会使用指定的json后面的字段名,没有的话就是字段名。
对结构体的初始化或者成员变量的访问修改值也很简单
// 直接赋值
var user UserEntity = UserEntity{"小红",12,1233213}
//指定赋值,没有值的字段可以省略
var user1 UserEntity = UserEntity{Name:"小蓝",Age:12}
//访问成员变量
user.Name
// 修改成员变量
user.Name = "小绿"
这就是初始化结构体,结构体成员变量的操作啦