代码改变世界

02_变量及变量的多重赋值和匿名变量

2019-08-22 16:18  StevenZhao  阅读(256)  评论(0编辑  收藏  举报

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 \n", b, c) //打印不自动换行,并且输出使必须指定数值类型
	//自动推导类型,必须初始化,通过初始化确定值得类型那个(常用)
	//先声明d的数据类型,在给d 赋值
	d := 30
	fmt.Printf("d type is %T\n", 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\n", temp) //这时候可以不处理_匿名变量
	//测试test函数
	var n1, n2 int
	n1, _, n2 = test() //可以不处理第二个返回值
	fmt.Println("测试结果如下")

	fmt.Printf("n1=%d,n2=%d\n", n1, n2)

}

//测试结果