变量的内存分析和注意事项
- 变量必须先声明才能使用
- go语言是静态语言,要求变量的类型和赋值的类型必须一致
- 变量名字不能冲突(同一作用域内)
- 简短定义方式,左边的变量名必须至少有一个是新的
- 简短定义方式不能定义全局变量
- 变量的零值,也叫默认值
- 变量定义就需要使用,否则编译无法通过
package main
import "fmt"
func main(){
var num int
num = 100
fmt.Printf("num的地址是%d,地址是%p\n",num,&num)
num = 200
fmt.Printf("num的地址是%d,地址是%p\n",num,&num)
}
不同类型的默认值
- int->0
- float->0.0
- string->null
- []int->null
常量的使用
-
常量是一个简单的标识符,在程序运行时,不会被修改的量。
-
语法:显示类型定义:const b string ="abc" const b int =123
隐式类型定义:const b = "abc"
-
常数:固定的值:100,“ABC”
const identifier [type] = value
显示类型定义:const b string ="abc"
隐式类型定义:const b = "abc"
- 一组常量中,如果某个常量没有初始值,默认和上一行一致
const(
a int =100
b
c string ="ruby"
d
e
)
fmt.Printf("%T,%d\n",a,a)
fmt.Printf("%T,%d\n",b,b)
fmt.Printf("%T,%d\n",c,c)
fmt.Printf("%T,%d\n",d,d)
fmt.Printf("%T,%d\n",e,e)
- 枚举类型:使用常量组作为枚举类型。一组相关数值的数据