Go 语言入门指南 | 青训营

77 阅读3分钟

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

1. 简介

Go(又称Golang)是一门由Google开发的开源编程语言。它的设计目标是简洁、高效、安全、并发性强,适用于构建高性能的分布式系统和网络应用。本学习笔记将简单介绍Go语言的基础语法和常用特性,帮助我们开始使用Go语言进行开发。

2. 安装和设置Go环境

在开始学习Go之前,首先需要在计算机上安装Go,并设置好相应的环境变量。可以通过以下步骤完成:

  1. 前往Go官网(golang.org/),下载适合自己操作系…
  2. 安装Go,并设置GOROOTGOPATH环境变量。
  3. 在命令行中输入go version,确保Go已成功安装。

3. Hello, Go!

编写第一个Go程序来打印"Hello, Go!"。

goCopy code
package main

import "fmt"

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

保存以上代码为hello.go,然后在命令行中运行go run hello.go,将看到输出结果:"Hello, Go!"。至此我们成功编写了一个简单的Go程序!

4. 基础语法

4.1 变量声明

在Go中,变量的声明需要明确指定类型,并使用关键字var进行声明。

goCopy code
var age int
var name string

也可以使用:=自动推导变量类型。

goCopy code
age := 30
name := "Alice"

4.2 控制流

Go支持常见的控制流结构,包括if-elseforswitch语句。

goCopy code
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("其他")
}

4.3 函数定义

在Go中,函数的定义使用func关键字。

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

4.4 数组和切片

Go中的数组长度是固定的,而切片是一个动态数组,可以根据需要自动扩展。

goCopy code
// 声明数组
var numbers [5]int

// 声明切片
var fruits []string

4.5 并发

Go的并发模型使用goroutine和channel,让并发编程变得简单而高效。

goCopy code
func printNumbers() {
    for i := 1; i <= 5; i++ {
        fmt.Println(i)
    }
}

func printLetters() {
    for char := 'a'; char <= 'e'; char++ {
        fmt.Println(string(char))
    }
}

func main() {
    // 使用goroutine实现并发
    go printNumbers()
    go printLetters()

    // 等待goroutine执行完成
    time.Sleep(time.Second)
}

5. 常用特性解析

Go语言具有许多强大的特性,包括高效的垃圾回收、丰富的标准库、原生支持的并发等。

  • 高效的垃圾回收机制:Go的垃圾回收器使用并发标记-清除算法,减少了应用程序的停顿时间,提高了性能。
  • 丰富的标准库:Go标准库提供了许多功能强大、易于使用的包,涵盖了网络、文件处理、加密、并发等领域。
  • 强大的并发支持:通过goroutine和channel,Go语言实现了轻量级并发,让编写并发程序变得简单而高效。
  • 原生的网络支持:Go语言原生支持网络编程,可以轻松实现服务器和客户端。