Golang的变量定义及使用案例
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.变量的定义
package main import "fmt" func main() { /* 什么是变量: 在程序运行过程中其值可以发生改变的量称为变量。 在golang中有三种定义变量的方式,分别为"声明变量","变量赋值",“自动推导类型”。 (1)声明变量语法格式: var 变量名称 数据类型 (2)变量赋值语法格式: var 变量名称 数据类型 = 值 (3)自动推导类型(根据值的类型确定变量名的类型)语法格式: 变量名 := 值 */ //1>.声明变量 var name string name = "Jason Yin" fmt.Println(name) fmt.Printf("变量name的数据类型是:%T\n", name) //2>.变量赋值 var age int = 18 fmt.Println(age) fmt.Printf("变量age的数据类型是:%T\n", age) //3>.自动推导类型 blog := "https://www.cnblogs.com/yinzhengjie/" fmt.Println(blog) fmt.Printf("变量blog的数据类型是:%T\n", blog) }
二.变量的多重赋值
package main import "fmt" func main() { name := "Jason Yin" age := 18 blog := "https://www.cnblogs.com/yinzhengjie/" fmt.Printf("变量name的数据类型是:%T,其对应的值是:%s\n", name, name) fmt.Printf("变量age的数据类型是:%T,其对应的值是:%d\n", age, age) fmt.Printf("变量blog的数据类型是:%T,其对应的值是:%s\n", blog, blog) fmt.Println("**********我是分割线**********") /* 上面的name,age,blog使用三行代码进行自动推导类型赋值,但是写起来相对来说比较复杂。 我们可以使用多重赋值的方式进行赋值,只需要一行就可以搞定,语法格式如下: 变量名称1,变量名称2,变量名称3[,...,变量名称n] := 对应变量名称1的值,对应变量名称2的值,对应变量名称3的值[,...,对应变量名称n的值] */ name2, age2, blog2 := "尹正杰", 27, "https://www.cnblogs.com/yinzhengjie2020" fmt.Printf("变量name2的数据类型是:%T,其对应的值是:%s\n", name2, name2) fmt.Printf("变量age2的数据类型是:%T,其对应的值是:%d\n", age2, age2) fmt.Printf("变量blog2的数据类型是:%T,其对应的值是:%s\n", blog2, blog2) }
三.小试牛刀
练习一: 圆周率为3.14,变量为4.115,请计算圆的周长和面积。 练习二: 变量x的值为10,变量y的值为20,请将两个变量的值进行互换,最少写出两种思路。
package main import ( "fmt" ) func main() { PI := 3.14 r := 4.115 fmt.Printf("变量PI的数据类型是:%T\n", PI) fmt.Printf("变量r的数据类型是:%T\n", r) //圆的的面积 s := PI * r * r //圆的周长 l := PI * 2 * r /* 带小数的数据类型称为浮点数,浮点数分为单精度浮点型(float32)和双精度浮点型(float64): 单精度浮点型(float32): 小数点默认保留6位 双精度浮点型(float64) 小数点默认保留15位 关于浮点数的知识扫描,博主推荐阅读: https://www.cnblogs.com/yinzhengjie2020/p/12247502.html */ fmt.Println("圆的面积:", s) fmt.Println("圆的周长:", l) fmt.Printf("%.2f\n", l) //保留2位有效数字 fmt.Printf("%.5f\n", l) //保留5位有效数字 }