目录
一、关键字
Go语言中有25个关键字
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
Go语言中还有37个保留字
Constants: true false iota nil
Types: int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
Functions: make len cap new append copy close delete
complex real imag
panic recover
二、变量
Go语言中局部变量声明后必须使用,不使用编译报错
1.变量声明
Go语言的变量声明格式为:
var 变量名 变量类型
eg:
var name string
var age int
var isOk bool
2.批量声明
go语言中还支持批量变量声明:
var (
name string
age int
isOk bool
)
三、变量的初始化
Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值。
整型和浮点型变量的默认值为0
字符串变量的默认值为空字符串
布尔型变量默认为false
切片、函数、指针变量的默认为nil
1.声明并初始化变量
初始化单个变量:
var name string = "理想"
var age = 16
初始化多个变量:
var name,age = "理想", 16
2.类型推导
将变量的类型省略,编译器会根据等号右边的值来推导变量的类型完成初始化。
var name = "理想"
var age = 18
3.短变量声明
只能在函数内部使用
package main
import (
"fmt"
)
func main() {
m := 200 // 短变量声明
fmt.Println(m)
}
四、匿名变量
函数返回多个值时,接收值的时候如果想忽略某个值,可以使用匿名变量
匿名变量用'_'表示
func foo() (int, string) {
return 10, "理想"
}
func main() {
x, _ := foo()
_, y := foo()
fmt.Println("x=", x)
fmt.Println("y=", y)
}
Practise:
package main
import "fmt"
// Go语言中推荐驼峰式命名(小驼峰)
// eg:studentName
// 变量声明
// var name string
// var age int
// var isOk bool
// 批量声明
var (
name string // ""
age int // 0
isOk bool //false
)
func main() {
name = "理想"
age = 16
isOk = true
// Go语言中非全局变量声明后必须使用,不使用就编译不过去
fmt.Print(name) // 在终端中输出要打印的内容(不换行)
fmt.Println() //打印空行
fmt.Printf("name:%s\n", name) // 格式化输出,要换行加上换行符'\n'
fmt.Println(name) // 在终端中输出要打印的内容(换行)
// 声明变量同时赋值
var s1 string = "whb"
fmt.Println(s1)
// 类型推导 (根据值判断变量是什么类型)
var s2 = "20"
fmt.Println(s2)
//简短变量声明,只能在函数里边用
s3 := "hahaha"
fmt.Println(s3)
}