光速入门Golang 基本变量
基本数据类型
基本数据类型同其他语言基本一致。
由基本的 整形 浮点型 字符串型 和布尔型 这四种基本类型组成
其中整型有int,uint,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64
浮点类型由float,float32,float64
字符串类型,string
布尔类型,bool(true,false)
负数类型,complex
数据类型别名
基本上rune 是int32的别名
byte 是int8的别名
变量声明
变量声明支持三种形式
带类型声明
var iage int
无类型赋值值声明(类型推导)
var iage = 10
短赋值
iage := 10
在函数中
比较推荐的方式是短赋值,
全局变量或者包变量等可以使用带类型声明
变量转换
变量之间类型不同不可以互相进行比较。
如
var age byte
var mage int8
age = 10
mage = 10
if age == mage {
fmt.Println("Eq")
} else {
fmt.Println("Not Eq")
}
以上代码再比较的时候会出现一个类型不匹配错误
nvalid operation: age == mage (mismatched types byte and int8)
如何修复这个问题呢。
在Go中byte只是int8的别名.
type byte int8
所以可以互相转换。
变量的转换规则一般是低bit位的数据类型像高bit位的数据类型进行转换。
所以一般规则是int8 - int16 -int32 -int -int64-float64
但是这个例子中都是同8bit位。
可以直接进行转换。
var age byte
var mage int8
age = 10
mage = 10
if int8(age) == mage {
fmt.Println("Eq")
} else {
fmt.Println("Not Eq")
}
现在可以进行比较了。
运算规则
整型和浮点型支持数学运算
- +
- -
- *
- /
-
学习到了 很棒的博客
文章不错交个朋友