Go 语言入门指南:基础语法和常用特性解析
Go 语言是一门由 Google 开发的编程语言,它的设计目标是提供一种简单、高效、可靠的编程语言,适用于现代分布式系统的开发。本篇笔记将介绍 Go 语言的基础语法和常用特性。
基础语法
变量声明
在 Go 语言中,变量的声明方式有多种,其中最常见的方式是使用 var 关键字。
a = 10
上述代码定义了一个名为 a 的整型变量,并将其初始化为 10。
除了使用 var 关键字外,还可以使用 := 运算符进行变量声明并初始化。
b := 20
上述代码定义了一个名为 b 的整型变量,并将其初始化为 20。
控制流语句
Go 语言支持常见的控制流语句,包括 if、for、switch 等。例如:
if a > 0 {
fmt.Println("a is positive")
} else if a == 0 {
fmt.Println("a is zero")
} else {
fmt.Println("a is negative")
}
for i := 0; i < 10; i++ {
fmt.Println(i)
}
switch a {
case 0:
fmt.Println("a is zero")
case 1:
fmt.Println("a is one")
default:
fmt.Println("a is not zero or one")
}
上面的代码展示了如何使用 if、for、switch 等语句。
函数定义
在 Go 语言中,函数定义使用 func 关键字。例如:
func add(a, b int) int {
return a + b
}
上面的代码定义了一个名为 add 的函数,它接受两个整型参数 a 和 b,并返回它们的和。
常用特性
并发编程
Go 语言天生支持并发编程,它提供了轻量级的 Goroutine 和 Channel 机制,使得并发编程变得非常简单。 示例代码展示了如何使用 Goroutine 和 Channel 实现并发编程:
func worker(id int, jobs <-chan int, results chan<- int) {
for j := range jobs {
fmt.Println("worker", id, "processing job", j)
time.Sleep(time.Second)
results <- j * 2
}
}
func main() {
jobs := make(chan int, 100)
results := make(chan int, 100)
for w := 1; w <= 3; w++ {
go worker(w, jobs, results)
}
for j := 1; j <= 9; j++ {
jobs <- j
}
close(jobs)
for a := 1; a <= 9; a++ {
result := <-results
fmt.Println("result:", result)
}
}
包管理
Go 语言提供了强大的包管理机制,使得代码复用和分发变得非常方便。
示例代码展示了如何使用 import 关键字引入其他包中的函数或变量。:
import (
"fmt"
"math/rand"
)
func main() {
fmt.Println("My favorite number is", rand.Intn(10))
}