基本类型
- 布尔类型 bool
取值范围为:true , false
长度为 1 个字节
不可以用数字来表示true 和 false
例子: var d bool = true
- 数字类型
2.1. 整型 int/uint
取值范围:根据操作系统不同,分别为32位与64位
2.2. 整型里面的整数及取值范围:
int8(-128 -> 127)
int16(-32768 -> 32767)
int32(-2,147,483,648 -> 2,147,483,647)
int64(-9,223,372,036,854,775,808 -> 9,223,372,036,854,775,807)
2.3. 整型里面的无符号整数及取值范围:
uint8(0 -> 255)
uint16(0 -> 65,535)
uint32(0 -> 4,294,967,295)
uint64(0 -> 18,446,744,073,709,551,615)
- 浮点型 float32/float64
根据操作系统不同,取值范围不同
float32(+- 1e-45 -> +- 3.4 * 1e38)
float64(+- 5 1e-324 -> 107 1e308)
- 指针整数 uintptr
足够保存指针32,64位的整数型
- 复数 complex64/complex128
complex64 (32 位实数和虚数)
complex128 (64 位实数和虚数)
复数使用 re+imI 来表示,其中 re 代表实数部分,im 代表虚数部分,I 代表根号负 1。
例:var c1 complex64 = 5 + 10i
fmt.Printf("The value is: %v", c1)
// 输出: 5 + 10i
- 其它值类型
array,struct,string(这些会在后面的文章中单独说明)
- 引用类型
slice,map,chan
- 接口类型 inteface
- 函数类型 func
补充说明:类型零值
零值并不等于空值,而是当变量被声明为某种类型的初始值
正常情况下的默认值为0
bool默认为false
string默认为空字符串
变量的声明与赋值
变量是通过var关键字来进行声明
- 第一种方式 ,声明与赋值分开
格式: var 变量名 变量类型
例:
声明: var d int
赋值: d = 1
- 第二种方式,声明的同时进行赋值
格式:var 变量名 变量类型 = 值
例:
var d int = 1
- 第三种方式,同时声明多个变量
格式 : var 变量名,变量名,变量名 类型
例:var a,b,c int
说明:一次声明多个变量时,变量名用','进行分割
留个思考,自己试下同时声明多个变量并进行赋值看看
- 第四种方式,最减写法(只适合在函数类,不适合全局变量)
格式 : 变量名 := 值
例: a := 1
a,b,c := 1,2,3
更多其它方式,等着你去发现
变量类型的转换
在文章最开始介绍了基本类型,接着介绍了定义变量,我们知道GO语言的变量是不能跨类型进行比较的,当我们要比较两个变量时,就需要转换成相同的类型进行比较
转换只能发生在两种相互兼容的类型,整型是不能转为bool,反之也不行
格式:新变量名 := 要转换的类型(要转换的变量)
例:var a float32 = 1.2
转换 b := int(a)
本篇基本介绍了GO的基本类型与变量的声明和赋值,下一篇将介绍常量与GO的运算符
如果觉得文章能够对您有所帮助,可以关注我,你的支持会鼓励我不断分享更多更好的优质文章。