Go语言中内置了大量的数据类型,包括基本数据类型和符合数据类型,其中基本数据类型有如下七种:
- 布尔型:bool
- 整形:byte,int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,uintptr
- 浮点型:float32,float64
- 复数类型:complex64,complex128
- 字符型:rune
- 字符串:string
- 错误类型:error
除此之外,还提供了以下的复合数据类型:
- 指针
- 数组
- 切片
- 字典
- 通道
- 结构体
- 接口
本章主要介绍上述的七中基本数据类型中的布尔型,整形,浮点型以及复数类型,对于其他的基本数据类型和复合数据类型会在对应的章节中具体讲解。
1. 布尔型
布尔型由关键字bool
表示,可取值为true
或者false
,如:
var a bool = false
var b bool = true
布尔型通常用于逻辑判断中,在Go语言中布尔型不能与整形进行类型转换。
2. 整形
在Go语言中包含的整形种类比较多,其主要区别是表示数值的长度不同,Go语言中的整形又可以分为两类,一类是有符号的,另一类是无符号的。Go语言整形具体如下表所示:
类型 |
有无符号 |
占用存储空间(字节) |
值的范围 |
int8 |
有符号 |
1字节 |
|
int16 |
有符号 |
2字节 |
|
int32 |
有符号 |
4字节 |
|
int64 |
有符号 |
8字节 |
|
uint8 |
无符号 |
1字节 |
|
uint16 |
无符号 |
2字节 |
|
uint32 |
无符号 |
4字节 |
|
uint64 |
无符号 |
8字节 |
|
除此之外,还有int
,uint
和uintptr
这三个与平台相关的整形类型,byte
类型与uint8
类型一致。
3. 浮点型
在Go语言中定义了两个浮点数类型,为float32
和float64
,这两者之间的差别是表示的数值长度不同,float32
对应了其他语言中的float
类型,而float64
对应了其他语言中的double
类型。
4. 复数类型
复数类型在Go语言中也有两种类型,分别为complex64
和complex128
,复数是由实部和虚部构成,复数在Go语言中的定义如下所示:
var a complex64 = 1 + 2i
var b = complex(3, 4)
fmt.Println(real(a), imag(a))
fmt.Println(real(b), imag(b))
其中,real()
函数用于取复数的实部,imag()
函数用于取复数的虚部。
5. 数据运算
数据运算包括数值运算,比较运算和位运算。
5.1. 数值运算
Go语言支持的数值运算包括:+,-,*,/和%:
func main() {
var a int = 5
var b int = 2
fmt.Println("a + b = ", a + b) // 7
fmt.Println("a - b = ", a - b) // 3
fmt.Println("a * b = ", a * b) // 10
fmt.Println("a / b = ", a / b) // 2
fmt.Println("a % b = ", a % b) // 1
}
5.2. 比较运算
Go语言支持的比较运算包括:>,=,
func main() {
var a int = 5
var b int = 2
fmt.Println("a > b ? ", a > b) // true
fmt.Println("a = b ? ", a >= b) // true
fmt.Println("a
5.3. 位运算
Go语言支持的位运算包括:左移>,异或^,与&,或|,取反^,如:
func main() {
var a int = 5
var b int = 2
fmt.Println("a > b = ", a >> b) // 1
fmt.Println("a ^ b = ", a ^ b) // 7
fmt.Println("a & b = ", a & b) // 0
fmt.Println("a | b = ", a | b) // 7
fmt.Println(" ^a = ", ^a) // -6
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
1.什么是冷启动? 推荐系统需要根据用户的历史行为和兴趣预测用户未来的行为和兴趣,因此大量的用户行为数据就成为推荐系统的重要组成部分和先决条件。 这些数据的获取对于一些热门的网站或者app来说也许不是个担心的问题,但是对于一些全新上线的网站等开始阶段的平台…