光速入门Golang 基本变量

/ 0评 / 0

基本数据类型

基本数据类型同其他语言基本一致。
由基本的 整形 浮点型 字符串型 和布尔型 这四种基本类型组成
其中整型有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")
}

现在可以进行比较了。

运算规则

整型和浮点型支持数学运算

发表评论

电子邮件地址不会被公开。 必填项已用*标注