变量、常量及类型
变量
变量指定了某存储单元的名称,该存储单元会存储特定类型的值。在 Go 中,有多种语法用于声明变量。
1.定义不赋初值
语法:var(关键字) 变量名 变量类型 。int 默认为是0,string类型默认为是空字符串。
package main
import "fmt" func main() { var age int // 声明age是变量 fmt.Println("my age is", age) } # 运行结果: my age is 0 # 如果变量未被赋值,Go 会自动地将其初始化,赋值该变量类型的零值。
2.定义单个变量
语法:var(关键字) 变量名 变量类型 = 值
package main
import "fmt" func main() { var age int = 21 // 声明变量并初始化 fmt.Println("my age is", age) } # 运行结果:my age is 21
3.定义多个变量
语法:var(关键字) 变量名1, 变量名2 变量类型 = 值1, 值2
package main
import "fmt" func main() { var a, b int = 20, 30 ----------------------------------------- var a, b = 20, 30 ----------------------------------------- a, b := 20, 30 // 这三种都是声明变量a和b fmt.Println(a, b)} # 显示结果 20 30
注意:1)在go语言中,一旦定义了变量就必须使用,否则会报错;且变量不可重复被定义。
2)go语言是一门强类型语言,类型是固定的,只有同类型之间才可以进行赋值。
类型
1.bool类型
bool 类型表示一个布尔值,值为 true 或者 false。其中 0 表示的是false。
2..数字类型
int类型:表示整数。有int8,int16,int32,int64 。
计算机最小计量单位:bit位 int8 是 8个比特位=1个字节,表示的范围是:正负2的7次方减1。
int32 表示的是32位机器上int ,int64表示的是64位机器上的int。
uint类型:表示正整数。有uint8,uint16,int32...
float类型:表示小数只有float32和float64。
byte类型: uint8 的别名。
rune类型: int32 的别名。
3.复数类型
complex64:实部和虚部都是 float32 类型的的复数。
complex128:实部和虚部都是 float64 类型的的复数。
4.string类型
可以认为一个字符串就是由很多字符组成的。字符串(必须用双引号),反引号类似于python中的三引号。
package main import "fmt" func main() { a:= "hello b:= "world" c:= a+" "+ b fmt.Println(c) } # 打印结果:hello world
常量
常指恒定不变的量。关键字 const 被用于表示常量。
package main import "fmt" func main() { var a int=10 # 变量定义了未使用,会出现报错 const b int=10 //定义了一个常量a fmt.Println(a) const c ="192.168.1.1" # 常量定义了未使用,不会会出现报错 }