Go 语法
Go语言(又称Golang)是一种静态类型、编译型语言,由Google开发。它以简洁、高效和并发支持著称,非常适合构建现代应用程序。本文将从基础语法入手,帮助你快速掌握Go语言的核心概念。
1. 变量与常量
变量声明
在Go中,变量使用var
关键字声明。变量声明的基本语法如下:
go
var 变量名 数据类型
例如:
go
var age int
age = 25
你也可以使用短变量声明(:=
)来简化变量声明和初始化:
go
name := "Alice"
提示
短变量声明只能在函数内部使用。
常量
常量使用const
关键字声明,常量的值在程序运行期间不可更改。
go
const pi = 3.14159
2. 数据类型
Go语言支持多种数据类型,包括基本类型和复合类型。
基本类型
- 整数类型:
int
,int8
,int16
,int32
,int64
- 浮点数类型:
float32
,float64
- 布尔类型:
bool
- 字符串类型:
string
复合类型
- 数组:固定长度的序列
- 切片:动态长度的序列
- 结构体:自定义数据类型
- 映射:键值对集合
例如,定义一个结构体:
go
type Person struct {
Name string
Age int
}
3. 控制结构
条件语句
Go语言中的条件语句包括if
、else
和switch
。
go
if age > 18 {
fmt.Println("You are an adult.")
} else {
fmt.Println("You are a minor.")
}
循环语句
Go语言只有for
循环,但可以通过不同的方式实现多种循环。
go
for i := 0; i < 5; i++ {
fmt.Println(i)
}
备注
Go语言没有while
循环,但可以通过for
实现类似功能。
4. 函数
函数是Go语言的基本构建块。函数使用func
关键字定义。
go
func add(a int, b int) int {
return a + b
}
多返回值
Go语言支持函数返回多个值。
go
func swap(x, y string) (string, string) {
return y, x
}
5. 实际应用场景
并发编程
Go语言内置了强大的并发支持,使用goroutine
和channel
可以轻松实现并发编程。
go
func printNumbers() {
for i := 0; i < 5; i++ {
fmt.Println(i)
}
}
func main() {
go printNumbers() // 启动一个goroutine
time.Sleep(1 * time.Second) // 等待goroutine完成
}
警告
在实际应用中,通常使用channel
来同步goroutine,而不是使用time.Sleep
。
6. 总结
本文介绍了Go语言的基础语法,包括变量与常量、数据类型、控制结构、函数以及并发编程的基本概念。通过这些内容,你应该能够编写简单的Go程序,并理解Go语言的核心特性。
7. 附加资源与练习
- 官方文档:Go语言官方文档
- 练习:尝试编写一个程序,使用
goroutine
和channel
实现两个并发任务的同步。
提示
建议初学者多动手实践,通过编写代码来巩固所学知识。