go入门|青训营

77 阅读3分钟

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

Go语言是一种开源、高效且易学的编程语言,由Google开发。它旨在提供一种简洁的语法和强大的性能,特别适用于构建高性能和并发的应用程序。在这份入门指南中,我们将深入探讨Go语言的基础语法和常用特性。

1. Hello, World!

我们从传统的"Hello, World!"程序开始。在Go语言中,一个基本的Hello World程序如下所示:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

在这个程序中,我们首先声明main包。每个Go程序都从main函数开始执行。通过import关键字引入了fmt包,用于格式化和输出文本。Println函数用于打印文本到标准输出。

2. 变量和数据类型

Go语言支持显式的变量类型声明,也可以使用类型推断。以下是一个示例:

package main

import "fmt"

func main() {
    var age int = 25
    name := "Alice"
    fmt.Printf("Name: %s, Age: %d\n", name, age)
}

在这个示例中,我们定义了一个整数变量age和一个字符串变量name。变量类型可以直接声明,也可以由编译器自动推断。

3. 控制流

Go语言的控制流与其他编程语言类似。以下是一个使用for循环和if条件语句的示例:

package main

import "fmt"

func main() {
    for i := 1; i <= 5; i++ {
        if i%2 == 0 {
            fmt.Println(i, "is even")
        } else {
            fmt.Println(i, "is odd")
        }
    }
}

在这个示例中,我们使用for循环打印数字1到5,并使用if语句判断数字的奇偶性。

4. 函数

Go语言中的函数具有与其他编程语言类似的结构。以下是一个简单的函数示例:

package main

import "fmt"

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

func main() {
    result := add(3, 5)
    fmt.Println("Sum:", result)
}

在这个示例中,我们定义了一个名为add的函数,接受两个整数参数并返回它们的和。在main函数中调用了这个函数并打印了结果。

5. 切片和映射

切片(Slice)和映射(Map)是Go语言中常用的数据结构,用于存储集合数据。以下是一个示例:

package main

import "fmt"

func main() {
    numbers := []int{1, 2, 3, 4, 5}
    fmt.Println("Slice:", numbers)

    person := map[string]int{"Alice": 25, "Bob": 30}
    fmt.Println("Map:", person)
}

在这个示例中,我们定义了一个整数切片numbers和一个字符串到整数的映射person

6. 并发编程

Go语言内置了强大的并发支持,通过使用协程(goroutine)和通道(channel)来实现。以下是一个并发编程的示例:

package main

import (
    "fmt"
    "sync"
)

func printNumbers(wg *sync.WaitGroup) {
    defer wg.Done()
    for i := 1; i <= 5; i++ {
        fmt.Println(i)
    }
}

func printLetters(wg *sync.WaitGroup) {
    defer wg.Done()
    for char := 'a'; char <= 'e'; char++ {
        fmt.Println(string(char))
    }
}

func main() {
    var wg sync.WaitGroup
    wg.Add(2)

    go printNumbers(&wg)
    go printLetters(&wg)

    wg.Wait()
}

在这个示例中,我们使用sync.WaitGroup来等待所有协程完成执行。通过go关键字,我们可以在不同的协程中执行函数。

这篇入门指南介绍了Go语言的基础语法和常用特性。通过学习这些基本概念,可以开始编写简单的Go程序,并逐渐深入学习更高级的特性和库。要继续深入学习Go语言,查阅官方文档。