什么是变量
var price int
- 这一行定义了一个变量,变量的名字是price, 类型是int, 初始值是0。
- 变量是一个保存数据的地方,当我们需要在程序里保存数据时,比如需要记录价格,就需要一个变量保存它,方便后续的使用
变量的定义
一般形式 var <变量名称> <类型名称>
var price int
var count, age int // 类型相同时可简写,变量名用逗号分隔
变量的名字
- 变量需要一个名字,变量的名字是一种标识符,意思是它用来识别这个和那个的不同的名字。
- 标识符基本构造原则:只能由字母,数字,下划线组成,数字不可以出现在首位,go语言关键字不可以用作标识符。
赋值运算符
运算符 | 解释 |
---|---|
= | 将右边的值赋值给左边 |
+= | 先进行加法运算,再赋值 |
-= | 先进行减法运算,再赋值 |
*= | 先进行乘法运算,再赋值 |
/= | 先进行除法运算,再赋值 |
%= | 先进行取余运算,再赋值 |
tip: 复合赋值,两个运算符中间不要有空格
变量的初始化
- 定义变量不对其赋值,则变量会使用默认值。
- 对变量的第一次赋值为变量的初始化
关键字
var
// 定义的时候赋值
var a int = 2
// 推断数据类型
var b = 3
// 定义多个
var (
// 推断数据类型
x, y = 4, 5
// 指定数据类型
z int8 = 1
)
:= 赋值
// 根据右值类型推断出左值的对应类型
s := "我是推导声明写法"
tip: 由于使用了“:=”,而不是赋值的“=”,因此推导声明写法的左值变量必须是没有定义过的变量
const
const AMOUNT int = 100
const 修饰符,表示变量初始化后不能再赋值。
// 定义多个
const (
j = "jaja"
// k = 3
k // 省略赋值, 无值时默认重复上一次的赋值
)
iota 累加1
const (
a1 = iota
a2
a3
a4
a5 = "ha" // 独立值
a6 // 无值时默认重复上一次的赋值
a7 = 100 // 参考iota下次无值
a8
a9 = iota // iota一直都在累加 恢复计数
a0
)
a1=0, a2=1, a3=2, a4=3, a5=ha, a6=ha, a7=100, a8=100, a9=8, a0=9
- a5是赋值,a6默认使用上一次(a5)的赋值,a7是赋值,a8默认使用上一次(a7)的赋值。
- a1 ~ a4 iota从零开始累加,a5 ~ a8是其他赋值,a9恢复了iota的计数为9(从0开始,值为8),a0继续累计。
递增,递减运算符
1. 运算符: 是指进行运算的动作,比如 ‘+’。
2. 算子:是指参与运算的值,这个值可以是常数,也可以是变量,还可以是方法的返回值。
递增++,递减-- 为单目运算符,算子必须是变量
a++ <==> a += 1
a-- <==> a -= 1
tip: 递增,递减运算符必须放在变量的后面,不允许放前面