1.1 变量
1.1 变量定义
变量相当于内存的一个数据一个数据存储空间的表示
1.2 变量的使用
- 声明变量
- 非变量赋值
- 使用变量
1.3 案例
package main
import "fmt"
func main() {
// 定义变量/声明变量
var i int
// 给i赋值
i = 10
// 使用变量
fmt.Println("i = ", i) // 输出 i = 10
}
1.4 变量使用
1.4.1 变量使用的三种方式
1 指定变量类型,声明后若不赋值,使用默认值
package main
import "fmt"
func main() {
var i int
fmt.Println("i=", i) // i = 0
}
2 根据值自行判定变量类型(类型推导)
package main
import "fmt"
func main() {
var num = 10.11
fmt.Println("num=", num)
}
3 省略var,注意::=左侧的变量不应该是已经声明过的,否则会导致编译错误
package main
import "fmt"
func main() {
name := "tom"
fmt.Println("name=", name)
}
1.4.2 多变量声明
package main
import "fmt"
func main() {
// 方式1
var a1, a2, a3 int
fmt.Println("a1 = ", a1, "a2 = ", a2, "a3 =", a3)
// 方式2
var b1, b2, b3 = 1, true, "tome"
fmt.Println("b1 = ", b1, "b2 = ", b2, "b3 = ", b3)
// 方式3
c1, c2, c3 := 100, "test", 10.1
fmt.Println("c1 = ", c1, "c2 = ", c2, "c3 = ", c3)
}
1.4.3 一次性声明多个全局变量
package main
import "fmt"
var n1 = 100
var n2 = 200
var name = "Tom"
var (
n3 = 300
n4 = 500
test = "Jack"
)
1.4.4 区域数据可以在同一类型范围内不断变化
var i int = 20
i = -100
i = 0
fmt.Println("i=", i)
i = 1.2 // 报错,因为不能改变数据类型
1.4.5 变量在同一个作用域(在一个函数或在代码块)内不能重名
var i int
i := 5 // 报错,重声明
1.5+号使用
1、当左右两边都是数值类型时,则作加法运算
2、当左右两边都是字符串,则作字符串拼接
var i = 1
var j = 2
var r = i + j
fmt.Println("r = ", r) // 3
var str1 = "go"
var str2 = "lang"
var res = str1 + str2
fmt.Println("res = ", res) // golang
1.6 数据类型
每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间
基本数据类型: 整型 浮点型、字符串、字符型、布尔型、复数
容器数据类型: 数组、切片 (slice)、通道 (chan)、映射 (map)
其它数据类型: 函数、结构体、接口、指针(Pointer)
下一节将介绍整数类型。