原创

Go语言入门

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

Go语言入门

Go语言 是一种由 Google 开发的开源编程语言,以其简洁、高效和并发性而闻名。它被广泛应用于系统编程、网络编程、云计算等领域。

1. 安装 Go

  • 下载 Go: 从 https://golang.org/dl/ 网站下载适合你操作系统的 Go 安装包。
  • 安装: 按照安装包指示进行安装。
  • 验证: 打开终端,输入 go version 命令,查看 Go 版本信息。

2. Hello, World!

创建名为 main.go 的文件,输入以下代码:

```go package main

import "fmt"

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

  • package main: 声明此文件是可执行程序。
  • import "fmt": 导入 fmt 包,提供格式化输入输出功能。
  • func main(): 定义程序的入口函数。
  • fmt.Println("Hello, World!"): 使用 fmt.Println 打印字符串 "Hello, World!"。

在终端执行以下命令:

go run main.go

你将看到输出结果:

Hello, World!

3. 数据类型

Go 语言提供了丰富的基本数据类型:

  • 整型: int, int8, int16, int32, int64, uint, uint8 (byte), uint16, uint32, uint64
  • 浮点型: float32, float64
  • 布尔型: bool
  • 字符串: string

示例:

go var age int = 20 var name string = "John" var isStudent bool = true

4. 变量

使用 var 关键字声明变量,并指定类型:

go var name string name = "John"

也可以使用简短声明方式:

go name := "John"

5. 运算符

Go 语言支持常见的算术运算符、比较运算符、逻辑运算符等。

示例:

```go a := 10 b := 5

sum := a + b // 加法 diff := a - b // 减法 product := a * b // 乘法 quotient := a / b // 除法 remainder := a % b // 取余

isGreaterThan := a > b // 比较运算符 ```

6. 控制流

  • if 语句:

go if age >= 18 { fmt.Println("成年了") }

  • for 循环:

go for i := 0; i < 10; i++ { fmt.Println(i) }

  • switch 语句:

go switch day { case "Monday": fmt.Println("工作日") case "Tuesday", "Wednesday", "Thursday", "Friday": fmt.Println("工作日") case "Saturday", "Sunday": fmt.Println("周末") default: fmt.Println("未知日期") }

7. 函数

使用 func 关键字定义函数:

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

调用函数:

go result := add(10, 5) fmt.Println(result) // 输出 15

8. 包

Go 语言使用包来组织代码。

  • 创建包: 在目录中创建一个 main.go 文件,并在开头添加 package main
  • 导入包: 使用 import 关键字导入其他包,例如 import "fmt"
  • 使用包中的函数: 使用 包名.函数名 方式调用包中的函数,例如 fmt.Println()

9. 错误处理

Go 语言使用多返回值方式处理错误。

示例:

go file, err := os.Open("file.txt") if err != nil { fmt.Println("打开文件失败:", err) return } defer file.Close() // 延迟关闭文件

10. 并发编程

Go 语言提供了强大的并发编程特性,可以使用 goroutinechannel 实现并发执行。

  • goroutine: 轻量级线程,可以使用 go 关键字启动。
  • channel: 用于 goroutine 之间通信,使用 make 关键字创建。

示例:

```go func worker(id int, ch chan int) { for i := 0; i < 3; i++ { ch <- id * i // 向通道发送数据 } }

func main() { ch := make(chan int) go worker(1, ch) go worker(2, ch)

for i := 0; i < 6; i++ { value := <-ch // 从通道接收数据 fmt.Println("Received:", value) } } ```

11. 资源

希望这份入门文档能够帮助你快速了解 Go 语言!

正文到此结束