变量
在程序运行过程中,其值可以发生改变的量成为变量
变量存在内存中,在程序运行时用来暂时存储数据
常量
在程序运行过程中,其值不可以发生改变的量成为常量
变量的定义和使用
package main import "fmt" func main() { //变量定义格式 //var 变量名 数据类型 //变量声明 未初始化 值为0 //var a int //变量初始化 var a int = 123 //表达式 计算a+321的结果赋值给a a = a + 321 //打印变量的值 fmt.Println(a); }
自动推导类型
package main import "fmt" func main() { //在go语言中可以根据变量赋值来确定数据类型 //格式: //变量名 := 值 a := 123 //int 整型 b := 3.14 //float64 双精度浮点型 c := "你好" //string 字符串类型 fmt.Println(a) fmt.Println(b) fmt.Println(c) //格式化打印 //占位符 %T 打印数据对应的类型 fmt.Printf("%T\n",a) fmt.Printf("%T\n",b) fmt.Printf("%T\n",c) }
常量定义和使用
//常量定义 方法一 const Max int = 10 //常量定义 方法二 自动推导类型 const Min = 10 /* 常量 存放在 全局区->常量区 */ /* 变量 存放在栈区 */
package main import "fmt" func main0501() { //变量定义 //var a int =10 //常量定义 常量名建议使用大写 const A int = 10 //A = 123 //err 常量在程序运行过程中不能赋值 fmt.Println(A) //fmt.Println(&A)//err 常量地址不能获取 } func main0502() { //在程序运行过程中 可以将不需要修改的量 设置为常量 //圆周率 3.14 const PI float64 = 3.14 r := 2.5 //圆的面积 s := PI * r * r //圆的周长 l := 2 * PI * r fmt.Println(s) fmt.Println(l) } func main0503() { //常量自动推导类型 const MAX = 10 const PI = 3.14 fmt.Printf("%T\n", MAX) fmt.Printf("%T\n", PI) } func main() { //所有的字面常量 存在内存中全局区-》常量 fmt.Println("hello") a := 10 a = a + 123 }
多重赋值和匿名变量
package main import "fmt" func main() { //定义多个变量 //var a,b,c,d int // //a=1 //b=2 //c=3 //d=4 //多重赋值 //var a, b, c, d int = 1, 2, 3, 4 //自动推导类型 进行多重赋值 //匿名变量 在数据定义或数据接收时 如果不想处理的数据可以使用匿名变量_来接收数据但是不会处理 //注意:匿名变量不可以打印 a, b, _, _ := 1, 2.22, 'a', "你好" //fmt.Println(a, b, c, d) fmt.Printf("%T\n",a) fmt.Printf("%T\n",b) //fmt.Println(_)//err }
格式输入
package main import "fmt" func main0701() { //fmt.Print 打印数据不换行 //fmt.Println 打印数据并换行 fmt.Println("hello") fmt.Println("world") } func main() { //格式化输出 需要根据个数进行占位符使用 //%d 表示输出一个整型数据 //%f 表示输出一个浮点型数据 默认保留六位小数 //%T 表示输出一个变量对应的数据类型 a := 123456 b:=3.149999 //%5d 表示数据位数为5位 不足前面补空格 //%-5d 表示数据位数为5位 不足后面补空格 //%05d 表示数据位数为5位 不足前面补0 //如果数据超出位数 正常输出 fmt.Printf("%5d\n",a) //%.2f表示小数点保留两位 会对第三位进行四舍五入 fmt.Printf("%.2f\n",b) }
格式输出
package main import "fmt" func main0801() { var a int var b float64 //通过键盘为变量赋值 //& 是一个运算符 表示取地址运算符 //如果scan中有多个数据 可以使用空格或换行表示接收结束 fmt.Scan(&a, &b) //阻塞式请求 fmt.Println(a) fmt.Println(b) } func main() { var a int var b float64 //格式化接收数据 需要使用占位符 fmt.Scanf("%d%f", &a, &b) fmt.Println(a) fmt.Println(b) }
标识符命名规则
1、可以使用字母、数字、下划线
2、只能以字母下划线开头
3、不允许使用go语言关键字
4、区分大小写
5、见名知义
有疑问加站长微信联系(非本文作者)