目录
前言
本章主要介绍golang的变量声明与使用,以及使用过程中需要注意的地方
一、变量是什么?
golang中的变量实质上就是一小块内存地址,用来存储数据,而且这些数据都是可以改变的;
内存地址的格式类似于:
不方便使用,所以我们习惯给变量对应的内存地址起一个方便记忆、使用的名字,这个名字就是变量名,它指向(关联)一个内存块,内存块中存储的就是我们的变量值(这块内容会在指针篇详细介绍)。
二、声明变量
变量命名规则:
以字母或下划线开头,有一个或多个字母、数字、下划线组成
var 变量名 类型 是声明单个变量的语法二、声明单个变量的方式
1.指定变量类型
代码如下(实例):
var name string
name = "tom" #该语句是给声明的变量name赋值为tom
2.类型推导
根据变量值的类型判定变量的类型
代码如下(实例):
var name = "tom"
如果一个变量有一个初始值,Go将自动能够使用初始值来推断该变量的类型。因此,如果变量具有初始值,则可以省略变量声明中的类型。
3.简短声明
代码如下(实例):
age := 10
省略var关键字,注意此处 := 左边的变量不应该是已经声明过的(如果多个变量同时声明,则需要保证至少有一个变量是新声明的变量)
此种声明方式不能用作全局变量的声明和赋值
三.多变量声明
第一种,以逗号分隔,声明与赋值分开,若不赋值,存在默认值
var name1, name2, name3 type
name1, name2, name3 = v1, v2, v3
第二种,直接赋值,下面的变量类型可以是不同的类型
var name1, name2, name3 = v1, v2, v3
第三种,集合类型
var (
name1 type1
name2 type2
)
该方式常用于声明全局变量
三.总结
- 变量必须先定义才能使用
- go语言是静态语言,要求变量的类型和赋值的类型必须一致。
- 变量名不能冲突。(同一个作用于域内不能冲突)
- 简短定义方式,左边的变量名至少有一个是新的
- 简短定义方式,不能定义全局变量。
- 变量的零值。也叫默认值。
- 变量定义了就要使用,否则无法通过编译。