Go的变量类型 | 青训营

74 阅读2分钟

变量

变量的功能是存储数据,不同的变量保存的数据类型也不一样。我们常见的变量类型有整形(int)、浮点型(float)、布尔型(bool)等。

Go语言中变量声明格式为: var 变量名 变量类型

变量初始化

go语言在声明变量时,会自动为变量对应的内存区域进行初始化,并且每个变量会被初始化为默认值。例如:整形和浮点型的默认值都是0;字符串默认值是空字符串;布尔值默认值是false;切片、函数、指针变量的默认值都是nil。

变量初始化格式:var 变量名 类型 = 值

类型推导

我们可以让编译器自动根据右值来推导出变量的类型,依此来完成初始化,甚至是在基于函数返回值的时候。当我们不确定具体需要什么类型时,我们也可以使用类型推导来完成变量初始化。

var name = "qingxun"
var age = 12
var sex = "F"

短变量声明

在函数内部使用类型推导时,我们可以将var省略,直接使用:=的方式来初始化变量,但是只能在函数内部使用,无法在函数外部使用。

package main

import ("fmt")

func add(x, y int8) int8 {
    return x + y
}

func main() {
    //局部变量
    n := 100
    m := 150
    res := add(n, m)
    fmt.Println(res) //250
}

go的变量声明,在我看来是很灵活的,不像C比较死板,必须要确定变量类型,而且变量之间的转换也很麻烦。go很好的实现了当我们不确定具体需要什么类型时,我们也可以使用类型推导来完成变量初始化。