## 变量定义
在程序运行时能够改变的量,其存在内存中。
内存是一个连续的数据集合,内存地址唯一。
通过变量名访问变量,为内存区域起的别名称为变量名,方便调用。
## 变量的声明和赋值
~~~go
变量声明格式:var <变量名称> <变量类型>,默认零值
变量赋值格式:<变量名称> = <变量值,表达式,函数>
变量声明和赋值格式:var <变量名称> <变量类型> = <变量值,表达式,函数>
分组声明格式:
var (
name int
name2 string
)
声明多个变量 var a, b, c int = 1, 2, 3
全局变量必须使用var,局部变量可以省略
~~~
> 不同数值类型不能进行计算
## 类型推导
``` go
a := 5 //整型
b := 3.24 // 推导为 float64
c := 'a' //推导为字符串类型
```
## 匿名变量
```go
//丢弃2
a, _, c = 1, 2, 3
```
## 基本数据类型
| 名称 | 表示 |备注|
| --- | --- |---|
|布尔型|bool|true/false|
|整型|int|有符号32位或无符号64位|
|浮点型|float64|小数位精确到15位|
|字节型|byte|uint8 别名|
|字符串类型|string|
## 可见性规则
函数名首字母大写表示为public,在其他包中可调用
函数名首字母小写表示为private,在其他包中不可调用
![](https://gitee.com/echohiyang/markdown-images/raw/master/i4Mm86.jpg)