go语言的基本语法 - 变量

概念:
变量是计算机语言中存储数据的基本单元,变量的功能就是存储数据。简单来说就是在计算机内分配一小块内存,在程序运行的过程中临时存放数据,当程序运行结束时,这块内存也就自动释放掉了。
变量又分为局部变量和全局变量
局部变量,定义在大括号{}内部的变量,大括号内部也是局部变量的作用域。
全局变量,定义在函数和大括号{}外部的变量。
go语言的变量由字母、数字、下划线组成,首个字母不能为数字,并且定义的局部变量没有被调用会发生编译错误。



变量声明:
var 变量名 变量类型var a int定义一个变量名a类型为int型的变量

批量声明未初始化的变量
var (    a int
    b string
    c []float32
    d func() bool
    e struct {        x int        y string
    }
)

未初始化变量的默认值有以下特点
整型和浮点型变量默认值是0
字符串默认值为空字符串
布尔型默认值false
函数、指针变量、切片默认值null

初始化变量的标准格式
var 变量名 变量类型 = 表达式
编辑器自动推断格式如下
var 变量名 = 表达式简短声明方式
变量名 := 表达式

举例
var a int = 10
var b = 10c := 10
:=是声明变量的首选方式,但是它只能用在函数体内,不可以声明全局变量,改变了名必须是没有被定义过的变量,若定义过,会报错。

多个变量赋值a, b := 100, 200



变量多重赋值
多个变量同事赋值,
var a int = 10
var b int = 10var tmp inttmp = a
a = bb = t

下面的写法可以减少内存的使用var a int = 10
var b int = 20
a = a ^b
b = b^a
a = a^b

var a int = 10
var b int = 20b, a = a, b多重赋值时,左值和右值按照从左到右的顺序赋值。这种方法在错误处理和函数中经常使用。



匿名变量go语言的函数可以返回多个值,但并不是每个值都能用上,这里就可以用匿名函数,用下划线“_”替换即可。
例如定义一个函数,返回两个int型变量,第一个返回10,第二个返回20,第一次调用舍弃第二个返回值,第二次调用舍弃第一个返回值。
func GetData() (int, int) {   return 10, 20}a, _ := GetData()            //舍弃第二个返回值_, b := GetData()            //舍弃第一个返回值

posted @ 2020-04-27 14:31  周科长  阅读(262)  评论(0)    收藏  举报