// 变量
package main
import "fmt"
func fn1() (string, int) {
return "pengge", 22
}
func main() {
// 标准声明变量
// var a string
// var b int
// var c bool
// a = "ropon"
// b = 18
// c = true
// fmt.Println(a, b, c)
// // 批量声明
// var (
// aa string
// bb int
// )
// aa = "west"
// bb = 20
// fmt.Println(aa, bb)
// 声明并初始化
// var cc string = "ropon.top"
// var dd int = 22
// 类型推导
// var cc = "ropon.top"
// var dd = 18
// var cc, dd = "ropon.top", 22
// fmt.Println(cc, dd)
// 短变量声明 只有在函数内部使用
// ee := "lisi"
// ff := 25
// fmt.Println(ee, ff)
// 匿名变量 _ 可以重复声明
name, _ := fn1()
fmt.Println(name)
}
// 常量
package main
import "fmt"
func main() {
// 常量声明
// const pi = 3.14
// 批量声明
// const (
// pi = 3.1415
// e = 2.7
// )
// fmt.Println(pi, e)
//const 同时声明多个常量时,省略表示和上一行值相同
// const (
// n1 = 33
// n2
// n3
// )
// fmt.Println(n1, n2, n3)
// 常量计数器 iota 只能在常量表达式中使用
// iota 遇到const 关键字出现时就会被重置为0 const中每新增一行常量声明 iota自加1
// const (
// n1 = iota
// n2 = 100
// _
// n3 = iota
// n4
// )
// const n5 = iota
// fmt.Println(n1, n2, n3, n4, n5)
// 定义数量级 << 位左移 1 << 2 = 100 = 4
// const (
// _ = iota
// KB = 1 << (10 * iota)
// MB
// GB
// TB
// PB
// )
// fmt.Println(KB, MB, GB, TB, PB)
// 练习
const (
a, b = iota + 1, iota + 2
c, d
e, f
)
fmt.Println(a, b, c, d, e, f)
}