-
- 变量
- 定义
- 就是一段或多段内存,用于存储数据
- 使用
- var 变量名 变量类型(var age int)
- 不指明变量类型 var level=1
- 想要查看类型可以使用 %T来看看
- 自动推导类型 i:=1
- 定义
- 变量
使用此格式有以下限制 1.定义变量,同时显式初始化 2.不能提供数据类型3 .只能在函数内部使用
- 基本变量类型
- byte:计算机中数据的基本单位,1字节=8位,数据在计算机存储或者计算时,至少为一字节
- 变量存储
- 等号左边的变量,代表变量所指向的内存空间(写)
- 等号右边的变量,代表变量内存存储的数据值(读)
- 计算机中数据存储的最小单位是bit(位),0或者1
- bool(空值为false)
- int(随系统一般占用4字节,int8占用1范围:-128-127,int16占用2...)
- uint(无符号整数)
- byte(uint8别名范围:0-255)
- rune(int32别名,代表一个Unicode码)
- floa32/64
- complex64/128(虚数)
- string
var (a int b string c []float32 )
-
-
- 匿名变量,conn,_:=net.Dail("","")此时_使用来代替err就是匿名变量,不占用命名空间,也不会分配内存。可以重复使用
- 变量作用域:一个变量在程序中都有一定的作用范围,称之为作用域
- 在函数内定义的变量成为局部变量
- 局部变量作用域旨在函数体内,函数的参数和返回值变量都属于局部变量;局部变量不是一直存在的,在调用结束后这个局部变量就会被销毁。
- 在函数外定义的变量成为全局变量
- 全局变量只需要在一个源文件中定义,就可以在所有源文件中使用,声明全局变量,必须以var关键字开头,如果想要在外部包中使用全局变量的首字母必须大写。
- 在函数中定义的变量成为形式参数
- 在定义函数时函数名后面口号中的变量叫做形式参数(简称形参)。形参只有在被调用时才会生效,在函数调用结束后就会被销毁,在未被用时,函数的形参并不占用实际的存储单元,也没有实际值。
- Go语言程序中全局变量与局部变量名称可以相同,但是函数体内的局部变量会被优先考虑。
- 举例
- //声明一个全局变量var a int = 13func sum(a, b int) int {
- fmt.Printf("sum函数a=%d\n", a)
- fmt.Printf("sum函数b=%d\n", b)
- num := a + b return num}
- func main() {
- //局部变量a,b var a int = 3 var b int = 4 fmt.Printf("m函数a=%d\n", a)
- fmt.Printf("m函数b=%d\n", b)
- c := sum(a, b)
- fmt.Printf("m函数c=%d\n", c)
- }
- 在函数内定义的变量成为局部变量
-