一、输出
go语言的四种输出方式
- 内置函数
- print: 输出不换行
- println:输出换行
- fmt包
- fmt.Print():输出不换行
- fmt.Println:输出换行
- 格式化输出(fmt.Printf)
- %s:占位一个字符
- %%:占位一个%
- %d:占位一个数字
- %f:占位一个小数
- %.2f:保留两位小数(依次类推)
fmt.Printf("%s,%d,%%80,%.3f", "go", 10, 0.3333333)
//
go,10,%80,0.333
二、变量
1、定义变量
声明+赋值
var name string = "go"
var age int = 10
var flag = true
fmt.Println(name, age, flag)
先声明+后赋值
var name string
var age int
var flag bool
name = "go"
age = 18
flag = true
fmt.Println(name, age, flag)
可以先声明后赋值的原因时各类型有默认值
var name string // 默认值为""
var age int //默认值为0
var flag bool //默认值为false
var height float32 //默认值为0
2、变量的声明要求
- 只允许由数字、字母、下划线组成
- 不允许以数字开头
- 不能使用go的内部关键字
reak、default、func、interface、select、case、defer、go、map、struct、chan、else、goto、package、switch、const、fallthrough、if、range、type、continue、for、import、return、var
3、变量的简写
简写1:声明+赋值(前一种类似于javascript, 后一种类似于python )
var name = "go"
var age = 10
var flag = true
var height = 1.1
name2 := "python"
age2 := 10
简写2:
var name,message,data string
name = "go"
message = "正在开发"
data = "后端"
简写3:
var (
name ="python"
age = 18
flag =false
height =1.1
)
三、作用域
如果我们定义了一个大括号,那么变量的作用域有以下几个特性:
- 子级可以调用父级的变量
- 父级不可以调用子级的变量
- 同级之内可以调用
func main() {
name := "go"
fmt.Println(name)
if true {
age := 10
fmt.Println(age)
fmt.Println(name)
}
}
全局变量
概念:定义在函数之外的变量
特点:
可以有以下几种定义方式
var name ="go"
var age int =12
var (
height =1.23
)
不可以定义全局变量的方式
flag :=true