变量声明
# 概述
在声明变量之前,咱们先了解下变量的数据类型,这篇文章主要涉及 字符串、布尔、数字,其他类型后面开篇再说。
# 数据类型
# 字符串
string
只能用一对双引号("")或反引号(``)括起来定义,不能用单引号('')定义!
# 布尔
bool
只有 true 和 false,默认为 false。
# 数字
整型
int8
uint8
int16
uint16
int32
uint32
int64
uint64
int
uint
,具体长度取决于 CPU 位数。
浮点型
float32
float64
# 常量声明
常量,在程序编译阶段就确定下来的值,而程序在运行时无法改变该值。
单个常量声明
第一种:const 变量名称 数据类型 = 变量值
如果不赋值,使用的是该数据类型的默认值。
第二种:const 变量名称 = 变量值
根据变量值,自行判断数据类型。
多个常量声明
第一种:const 变量名称,变量名称 ... ,数据类型 = 变量值,变量值 ...
第二种:const 变量名称,变量名称 ... = 变量值,变量值 ...
测试代码
//demo_1.go
package main
import (
"fmt"
)
func main() {
const name string = "Tom"
fmt.Println(name)
const age = 30
fmt.Println(age)
const name_1, name_2 string = "Tom", "Jay"
fmt.Println(name_1, name_2)
const name_3, age_1 = "Tom", 30
fmt.Println(name_3, age_1)
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
运行结果:
# 变量声明
单个变量声明
第一种:var 变量名称 数据类型 = 变量值
如果不赋值,使用的是该数据类型的默认值。
第二种:var 变量名称 = 变量值
根据变量值,自行判断数据类型。
第三种:变量名称 := 变量值
省略了 var 和数据类型,变量名称一定要是未声明过的。
多个变量声明
第一种:var 变量名称,变量名称 ... ,数据类型 = 变量值,变量值 ...
第二种:var 变量名称,变量名称 ... = 变量值,变量值 ...
第三种:变量名称,变量名称 ... := 变量值,变量值 ...
测试代码
//demo_2.go
package main
import (
"fmt"
)
func main() {
var age_1 uint8 = 31
var age_2 = 32
age_3 := 33
fmt.Println(age_1, age_2, age_3)
var age_4, age_5, age_6 int = 31, 32, 33
fmt.Println(age_4, age_5, age_6)
var name_1, age_7 = "Tom", 30
fmt.Println(name_1, age_7)
name_2, is_boy, height := "Jay", true, 180.66
fmt.Println(name_2, is_boy, height)
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
运行结果:
# 输出方法
fmt.Print:输出到控制台(仅只是输出)
fmt.Println:输出到控制台并换行
fmt.Printf:仅输出格式化的字符串和字符串变量(整型和整型变量不可以)
fmt.Sprintf:格式化并返回一个字符串,不输出。
测试代码
//demo_3.go
package main
import (
"fmt"
)
func main() {
fmt.Print("输出到控制台不换行")
fmt.Println("---")
fmt.Println("输出到控制台并换行")
fmt.Printf("name=%s,age=%d\n", "Tom", 30)
fmt.Printf("name=%s,age=%d,height=%v\n", "Tom", 30, fmt.Sprintf("%.2f", 180.567))
}
2
3
4
5
6
7
8
9
10
11
12
13
14
运行结果: