1. 为什么需要变量
1.1 一个程序就是一个世界
1.2 变量是程序的基本组成单位
不管我们使用哪种语言来编写我们的程序,变量永远是必不可少的一部分,它是计算机语言中能储存计算结果或能表示值的抽象概念。
func getVal(num1 int, num2 int)(int, int) {
sum := num1 + num2
sub := num1 - num2
return sum, sub
}
func main() {
sum, sub := getVal(8,5)
fmt.Println("sum:",sum, "sub:", sub) // sum: 13 sub: 3
}
如上面程序中的sum、sub都是作为变量存在于程序当中
2.变量的介绍
2.1 变量的概念
变量相当于内存中一个数据存储空间的表示,我们可以将变量比喻成一个房间,变量名则是房间的门牌号,变量类型为房型,变量值为入住这间房的客人。我们可以通过变量名找到对应的变量(门牌号找到对应房间),可以给变量赋值(客人入住房间),可以给变量设置类型(大床房、情侣房、套房)。
2.2 变量的使用
- 声明变量 (开房)
- 变量赋值 (入住)
- 使用变量 (斗地主)
func main() {
var name string //1.声明变量
name = "老王" //2.变量赋值
str := fmt.Sprintf("我叫%s", name) //3.使用变量
fmt.Println(str)
}
2.2.1 Golang中声明变量
-
指定变量类型(声明后不赋值,则使用默认值)
-
根据值自动判断类型
-
声明+赋值
-
多变量声明
-
多全局变量声明
2.2.2 Golang中“+”的使用
- 当两边都是字符串时,则进行拼接
- 当两边都是数值时,则为相加
3. Golang中的数据类型
3.1 整数类型
3.1.1 使用细节
- Golang整型默认为int
- 使用
fmt.Printf()
来查看变量的数据类型 - Golang整型在使用时,遵循"保小不保大"原则,在保证不影响程序运行的同时,尽量使用占用空间小的数据类型
3.2 浮点型
3.2.1 使用细节
- Golang浮点型默认为float64
- 通常情况下推荐使用float64(因为他更加精准)
3.3 字符类型
Golang中没有专门的字符类型,如果要存储单个字符,一般用byte来保存
3.3.1 使用细节
- 字符常量是用单引号括起来的单个字符
- Golang语言的字符采用utf-8编码
- 在Golang中,字符的本质是整数,直接输出时,是对该字符对应的UTF-8码值进行输出
- 字符类型可以直接进行运算,相当于一个整数
3.4 布尔类型
3.4.1 使用细节
- 布尔类型适用于逻辑运算
- 布尔类型占1个字节
- 布尔类型只允许取值true或false
3.5 string 类型
3.5.1 使用细节
- Golang中的string一旦赋值,便不能修改了
- 字符串拼接(参考:字符串高性能拼接)
3.5.2 基本数据类型默认值
// 基本数据类型(整型,浮点型,字符串型,布尔型)的默认值
package main
import (
"fmt"
)
func main() {
var a int
var b float32
var c bool
var d string
fmt.Printf("整型a的值为%v, 浮点型b的值为%v, 布尔型c的值为%v, 字符串型d的值为%v\n", a, b, c, d) // 整型a的值为0, 浮点型b的值为0, 布尔型c的值为false, 字符串型d的值为
}