Golang-数据类型与变量
1. 基本数据类型
类型名称 | 长度 | 取值范围 |
---|---|---|
布尔型 bool | 1字节 | true, false |
整型 int/uint | 32或64位 | |
8位整型 int8/uint8 | 1字节 | -128~127/0~255 |
字节型 byte | 注:是uint8的别名 | |
16位整型 int16/uint16 | 2字节 | -32768~32767/0~65535 |
32位整型 int32/uint32 | 4字节 | ~ /0~ |
64位整型 int64/uint64 | 8字节 | ~ /0~ |
浮点型 float32/float64 | 4/8字节 | 精确到7/15位小数 |
复数 complex64/complex128 | 8/16字节 |
还有一些其他数据的数据类型
- 引用类型:指针,slice,map,管道chan,interface
- 接口类型:interface
- 函数类型:func
注:不可以用数字代表true
或false
注:使用别名可以增强代码的可读性
2. 类型零值
零值不等于空值,而是当被变量声明后的默认值,通常情况下的默认值为0
,bool
为false
,string
为空字符串。
3. 变量的声明与赋值
在go语言当中存在多种变量的赋值方式
3.1 声明变量
//声明一个变量a为int型
var a int
//为变量a赋值
a = 1
//声明并赋值一个为int型的变量b
var b int = 2
//声明并赋值一个为int型的变量c
var c = 3
//声明并赋值一个为int型的变量d
d := 4
你们可能已经注意到当声明变量c
的时候没有为他指定变量的类型,这是go
语言的自动判断机制,go
语言会根据你为变量所赋的值字段判断数据类型
注:指定数据类型也是有用的,假如你想声明一个float
类型的数据,但是声明是没有为他指定数据类型,那么后期操作的时候就会报错
变量d
的声明是最为简单的,连关键字var
都一并进行了省略
3.2 并行的声明多个变量
//并行声明当然也可以应用上面的省略操作
var h,e,l,o int = 1,2,3,5
//go语言可以使用空白符来接受赋值用_表示
var g,_,o int = 1,2,3
4. 类型转换
go语言可以进行类型转换,但是转换的数据之间必须是兼容的,你不能把一个bool
值转换为int
值
//可以使用这样进行强制类型转换
var a float32 = 1.1
b := int(a)