package main
import "fmt" //导入的包必须使用,否则会报错
//test 函数来测试匿名变量,注意函数声明格式
func test() (a, b, c int) {
return 1, 2, 3
}
func main() {
//单个变量的声明
var a int = 10 //声明并初始化
fmt.Println("a=", a) //打印自动换行
//多个变量一起声明
var b, c int //声明的变量必须使用,否则会报错
fmt.Printf("b= %d, c=%d ", b, c) //打印不自动换行,并且输出使必须指定数值类型
//自动推导类型,必须初始化,通过初始化确定值得类型那个(常用)
//先声明d的数据类型,在给d 赋值
d := 30
fmt.Printf("d type is %T ", d)
//多重赋值和匿名变量
m, n, q := 10, 20, 30
fmt.Println("m=", m, "n =", n, "q =", q)
m, n = n, m //数据的直接转换
fmt.Println("m=", m, "n =", n)
//匿名变量,丢弃的数据不处理,_匿名变量配合函数返回值使用,才有优势
temp, _ := 10, 20
fmt.Printf("temp=%d ", temp) //这时候可以不处理_匿名变量
//测试test函数
var n1, n2 int
n1, _, n2 = test() //可以不处理第二个返回值
fmt.Println("测试结果如下")
fmt.Printf("n1=%d,n2=%d ", n1, n2)
}
//测试结果