Go 语言入门指南:基础语法和常用特性解析
Go(又称为 Golang)是一种由 Google 开发的开源编程语言,以其简洁、高效和并发特性而备受开发者青睐。
基础语法
1. 变量声明与赋值
在 Go 中,可以使用 var 关键字声明变量,也可以使用短变量声明 := 来同时声明并赋值变量。例如:
var age int
name := "Alice"
2. 数据类型
Go 提供了基本的数据类型,如整数、浮点数、字符串、布尔值等。还有更高级的数据类型,如数组、切片、映射、结构体和接口。
3. 控制流
Go 支持常见的控制流语句,包括条件语句(if)、循环语句(for)和分支语句(switch)。
if age >= 18 {
fmt.Println("成年人")
} else {
fmt.Println("未成年人")
}
for i := 0; i < 5; i++ {
fmt.Println(i)
}
switch day {
case "Monday":
fmt.Println("星期一")
case "Tuesday":
fmt.Println("星期二")
default:
fmt.Println("其他")
}
常用特性
1. 并发支持
Go 在语言层面原生支持并发编程,通过 goroutine 和 channel 实现。Goroutine 是轻量级的线程,可同时运行成千上万个,而 channel 则用于 goroutine 之间的通信。
func main() {
go doSomething()
go doSomethingElse()
time.Sleep(time.Second)
}
2. 函数
函数是 Go 中的一等公民,可以作为参数传递、返回值或赋值给变量。这使得函数式编程风格更容易实现。
func add(a, b int) int {
return a + b
}
func apply(operation func(int, int) int, a, b int) int {
return operation(a, b)
}
result := apply(add, 3, 5) // 结果为 8
3. 包管理
Go 使用包来组织代码,它有助于模块化和代码复用。标准库中提供了丰富的包,而且 Go 的包管理工具(go mod)使第三方库的管理变得简单明了。
4. 错误处理
Go 采用了显式的错误处理机制,鼓励开发者在函数返回值中返回错误信息。这种方式有助于更清晰地处理错误,并避免隐藏错误。
result, err := doSomething()
if err != nil {
fmt.Println("发生错误:", err)
}