1.4. 自动推导类型-就是不用通过var 声明变量,不用指定类型,直接在变量名后面跟”:”号,同时完成赋值
自动推导类型
在给变量赋值时,我们感觉非常麻烦,
需要var + 数据类型 + 值、或者 先声明数据类型后面再赋值。
那么有没有更简单的给变量赋值的方式?
我们可以使用 自动推导类型 ,具体示例如下:
num := 22
fmt.Println(num)
运行:go run .\test.go
输出结果:22
所谓自动推导类型,就是不用通过var 声明变量,不用指定类型,直接在变量名后面跟”:”号,同时完成赋值。那么GO会根据所赋的值自动推导出变量的类型。如果给num变量赋值为小数,那么该变量的类型为小数类型(浮点)。
通过比较,我们发现这种方式比前面的赋值方式要简单方便。这种方式,也是我们以后开发过程中最常用的方式。
1. 用自动推导类型去定义 整型,浮点型,字符串类型数据
func main() {
//var a int = 10
//var b int = 20
//不同的数据类型在内存中开辟的空间不同
//自动推导类型
a := 10 //int 整型
b := 123.456 //float64 浮点型
c := "learnku社区" //string 字符串类型
fmt.Println(a + 10)
fmt.Println(b + 3.14)
fmt.Println(c)
//不同的数据类型不能计算
//fmt.Println(a + b)//err
}
2. 交换两个变量的值
2.1 使用第三变量进行交换
func main() {
a := 10
b := 20
//使用第三变量进行交换
//先定义后使用
var c int
c = a
c := a
a = b
b = c
fmt.Println(a)
fmt.Println(b)
}
2.2 通过运算进行交换
func main() {
a := 10
b := 20
//通过运算进行交换
a = a + b
b = a - b
a = a - b
fmt.Println(a)
fmt.Println(b)
}