Go 语言入门指南:基础语法和常用特性解析

100 阅读2分钟

Go 语言入门指南:基础语法和常用特性解析

Go 语言是一门由 Google 开发的编程语言,它的设计目标是提供一种简单、高效、可靠的编程语言,适用于现代分布式系统的开发。本篇笔记将介绍 Go 语言的基础语法和常用特性。

基础语法

变量声明

在 Go 语言中,变量的声明方式有多种,其中最常见的方式是使用 var 关键字。

a = 10

上述代码定义了一个名为 a 的整型变量,并将其初始化为 10。

除了使用 var 关键字外,还可以使用 := 运算符进行变量声明并初始化。

b := 20

上述代码定义了一个名为 b 的整型变量,并将其初始化为 20。

控制流语句

Go 语言支持常见的控制流语句,包括 ifforswitch 等。例如:

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")
}

上面的代码展示了如何使用 ifforswitch 等语句。

函数定义

在 Go 语言中,函数定义使用 func 关键字。例如:

func add(a, b int) int {
    return a + b
}

上面的代码定义了一个名为 add 的函数,它接受两个整型参数 ab,并返回它们的和。

常用特性

并发编程

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))
}