02 变量,常量
变量的声明方式
- 赋值可以进行自动的类型判断
- 在一个赋值语句中可以对多个变量进行同时赋值
- 需要注意的点:如果声明了变量代码中没有用到在编译阶段就会提示报错,代码无法运行。这个和java是不同的,设计的更加合理一下。
- 下面是变量声明的几种方式。
package main
import "fmt"
func main() {
//变量声明方式 01
var a int = 1
var b int = 2
//变量声明方式 02
var (
c int = 1
d int = 2
)
//变量声明方式 03
e := 1
f := 2
// 04 完成了 e f直接的值传递
e, f = f, e
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d)
fmt.Println(e)
fmt.Println(f)
}
- 很显然第三种更加简洁。
常量的声明
- 常量表示运行时不变的值。
- 常量值必须是编译期可确定的字符,字符串,数字,布尔等。
- 定义常量,不使用常量不会发生编译错误,这一点和变量不同
下面是常量的定义方式:
package main
import "fmt"
//定义一个字符串
const str = "hello world"
//定义一个int类型的数字
const x int = 123
//定义多个相同类型的常量 01
const y, z int = 123, 234
//定义多个类型的常量 02
const (
a = 1
b = 2
c = 3
)
// 定义多个类型的常量 03 在常量组中如果不制定常量类型,则与上一行非空常量右值相同
const (
d = 1
e //默认int类型 和d相同 值为1
f = "abd"
r //默认和f类型相同 string类型 值为 “abd”
)
//也可以定义某些通过编译器能够通过公式计算出来的 确定的值 len 计算字符串的长度
const strSize = len("hello world")
func main() {
fmt.Println(a)
fmt.Println(str)
fmt.Println(strSize)
//打印e 和 r 的值
fmt.Println(e)
fmt.Println(r)
}
控制台输出为:
1
hello world
11
1
abd