原创

Go 入门指南

温馨提示:
本文最后更新于 2024年07月31日,已超过 246 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

Go 入门指南

Go 语言,也被称为 Golang,是一种由 Google 开发的开源编程语言。Go 以其简洁、高效、易于学习而闻名,非常适合构建各种规模的应用程序,包括 Web 应用、系统工具、数据科学和云原生应用。

为什么选择 Go?

  • 简洁易学:Go 语法简洁明了,容易学习和掌握。
  • 高效性能:Go 编译成机器码,执行效率高。
  • 并发性:Go 内置强大的并发机制,可以轻松构建高性能的并发应用程序。
  • 垃圾回收:Go 提供自动垃圾回收,简化了内存管理。
  • 丰富的标准库:Go 拥有丰富的标准库,可以满足各种编程需求。
  • 活跃的社区:Go 拥有庞大的社区,可以轻松获取帮助和资源。

安装 Go

  1. 下载 Go 安装程序:从官方网站 https://golang.org/dl/ 下载适合你操作系统的 Go 安装程序。
  2. 安装 Go:按照安装程序的提示完成安装。
  3. 设置环境变量:将 Go 的安装目录添加到系统环境变量 PATH 中。

第一个 Go 程序

```go package main

import "fmt"

func main() { fmt.Println("Hello, 世界!") } ```

  • package main声明这是一个可执行程序。
  • import "fmt"导入 fmt 包,用于格式化输出。
  • func main() {}定义 main 函数,程序的入口点。
  • fmt.Println("Hello, 世界!")使用 fmt.Println 打印输出。

运行程序:

  1. 将代码保存为 hello.go 文件。
  2. 打开终端,进入文件所在目录。
  3. 运行命令 go run hello.go

基础语法

  • 变量:使用 var 关键字声明变量,例如:var name string = "John"
  • 数据类型:Go 支持多种数据类型,包括整型、浮点型、字符串、布尔类型等。
  • 运算符:Go 支持常见的算术运算符、比较运算符、逻辑运算符等。
  • 控制流:Go 支持 if-else 语句、switch 语句、for 循环等。
  • 函数:使用 func 关键字定义函数,例如: go func add(a int, b int) int { return a + b }

  • 包:Go 使用包来组织代码,每个 Go 文件都属于一个包。
  • 导入包:使用 import 关键字导入其他包,例如:import "fmt"
  • 标准库:Go 提供了丰富的标准库,包括 fmtnetos 等。

并发编程

  • goroutine:Go 提供轻量级线程,称为 goroutine,可以轻松实现并发。
  • channel:Go 提供 channel 用于 goroutine 之间的通信。

示例:并发计算

```go package main

import ( "fmt" "runtime" "time" )

func sum(s []int, c chan int) { sum := 0 for _, v := range s { sum += v } c <- sum // 将结果发送到 channel }

func main() { runtime.GOMAXPROCS(runtime.NumCPU()) s := []int{7, 2, 8, -9, 4, 0}

c := make(chan int) // 创建一个 channel

go sum(s[:len(s)/2], c) // 启动第一个 goroutine
go sum(s[len(s)/2:], c) // 启动第二个 goroutine

x := <-c // 从 channel 接收第一个结果
y := <-c // 从 channel 接收第二个结果

fmt.Println("x:", x, "y:", y, "x+y:", x+y)

time.Sleep(1 * time.Second) // 等待 goroutine 完成

} ```

代码解释:

  • 使用 runtime.GOMAXPROCS(runtime.NumCPU()) 设置 Go 程序同时运行的最大 CPU 数量。
  • 创建一个 channel,用来接收 goroutine 的计算结果。
  • 启动两个 goroutine,分别计算数组的前半部分和后半部分的总和。
  • 使用 <-c 从 channel 接收 goroutine 返回的结果。

学习资源

总结

Go 是一种强大的编程语言,拥有简洁的语法、高效的性能和强大的并发机制,非常适合构建现代应用程序。希望本入门指南能够帮助你快速了解 Go 语言的基本知识,开始你的 Go 编程之旅。

正文到此结束